トップ回答者
インデックス(断片化)再構成について

質問
-
現在、インデックスの再構成を実施しておりますが、断片化されたインデックスが解放されない状況です。
実施内容は下記URLの内容のスクリプトを実施してます。
https://gallery.technet.microsoft.com/scriptcenter/6f8cde49-5c52-4abd-9820-f1d270ddea61
================================================
xxxx-xx-xx xx:xx:xx.xxx Done.
Estimated number of pages in fragmented indexes: 1844224
Estimated number of pages freed: 0
Updating all statistics.xx:xx:xx.xxx
xxxx-xx-xx xx:xx:xx.xxx Done.
Estimated number of pages in fragmented indexes: 1844225
Estimated number of pages freed: 0
Updating all statistics.xx:xx:xx.xxx
xxxx-xx-xx xx:xx:xx.xxx Done.
Estimated number of pages in fragmented indexes: 1844225
Estimated number of pages freed: 2
Updating all statistics.xx:xx:xx.xxx
================================================
何か断片化されたインデックスを解放する手段があればご教示いただけますと幸いです。
回答
-
実行されているスクリプトの場合、以下の条件に当てはまらないインデックスの場合は、インデックスの再構成/再構築は実施されないもようです。
(f.avg_page_space_used_in_percent < 85.0 and f.avg_page_space_used_in_percent/100.0 * page_count < page_count - 1) or (f.page_count > 50 and f.avg_fragmentation_in_percent > 15.0) or (f.page_count > 10 and f.avg_fragmentation_in_percent > 80.0)
以下の URL を参考に、インデックスの再構成/再構築を実行することで、インデックスの断片化を解消することができると思います。
+ テーブルのすべてのインデックスを再構成するには
+ テーブルのすべてのインデックスを再構築するには- 回答としてマーク ikeda-19 2020年8月15日 15:11
すべての返信
-
実行されているスクリプトの場合、以下の条件に当てはまらないインデックスの場合は、インデックスの再構成/再構築は実施されないもようです。
(f.avg_page_space_used_in_percent < 85.0 and f.avg_page_space_used_in_percent/100.0 * page_count < page_count - 1) or (f.page_count > 50 and f.avg_fragmentation_in_percent > 15.0) or (f.page_count > 10 and f.avg_fragmentation_in_percent > 80.0)
以下の URL を参考に、インデックスの再構成/再構築を実行することで、インデックスの断片化を解消することができると思います。
+ テーブルのすべてのインデックスを再構成するには
+ テーブルのすべてのインデックスを再構築するには- 回答としてマーク ikeda-19 2020年8月15日 15:11
-
すべてのインデックスを再構築したい場合は、githubに「全インデックスの再構築+各再構築処理にどれだけ時間がかかったかもあわせて計測できるクエリ」を公開しています。
よければご活用ください。
- 編集済み maaaaaaaa8 2020年8月17日 8:55