web-dev-qa-db-ja.com

インデックスの最適化によりDBサイズが増加します

Index Optimizeの後、データベースサイズが114から140Gbに増加しましたが、これは正常ですか?

サーバーRAMプロセス終了後も使用量は減少せず、62Gb/98%のままです

1
Slyfox

はい、それは正常です。

参照: インデックスDDL操作のディスク容量要件

新しいインデックス構造が作成されると、適切なファイルとファイルグループに古い(ソース)構造と新しい(ターゲット)構造の両方のディスク領域が必要になります。古い構造は、インデックス作成トランザクションがコミットされるまで割り当てが解除されません。

次のインデックスDDL操作は、新しいインデックス構造を作成し、追加のディスク領域を必要とします。

  • ALTER INDEX REBUILD

したがって、インデックスの1つがスクリプトによって再構築された場合、その操作に必要なサイズは、古いインデックス構造のサイズ+操作の実行時の新しいインデックス構造のサイズでした。

新しい構造が配置されると、古い構造が削除され、データファイル内に空き領域が残りますが、オペレーティングシステムに戻されないため、データファイルは大きくなりますが、将来再利用される空き領域が含まれている必要があります。 。

インデックスディスク容量の例 もご覧ください。

インデックス操作中にソース構造とターゲット構造の両方をサポートするために必要な合計ディスク容量は、816 MB(363 + 453)です。ソース構造に現在割り当てられているスペースは、インデックス操作がコミットされた後に割り当てが解除されます。