私が継承したSQLServer2005データベースのいくつかのキーは、非常に高い断片化率を持っています。次のSQLを使用する場合:
select OBJECT_NAME(object_id), avg_fragmentation_in_percent, record_count, *
from sys.dm_db_index_physical_stats (DB_ID(N'FragmentedDB'), NULL, NULL, NULL, 'Detailed') s
断片化率が50〜99のテーブルがいくつかあります。これらのテーブルはすべて100,000行を超え、一部は2,000,000行以上です。これがアプリケーションのパフォーマンスに重大な問題を引き起こしていると思われるため、次のSQLを使用してこれらのインデックスの一部を再構築しようとしました。
ALTER INDEX ALL ON [dbo].[FragmentedTable]
REBUILD WITH ( FILLFACTOR = 90, ONLINE = ON )
ただし、インデックスを再構築して断片化%を再度確認した後、それらはすべて変更されていません。足りないものはありますか?私はこのトピックについていくつかの検索を行いましたが、これまでのところ空になっています。
ありがとう!