Несколько ключей в базе данных SQL Server 2005, которую я унаследовал, имеют очень высокий процент фрагментации. При использовании следующего 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 )
Однако после того, как я перестроил индекс и снова посмотрел на фрагментацию%, все они не изменились. Есть ли что-то, что мне не хватает? Я провел несколько поисков по этой теме, но до сих пор пустовал.
Спасибо!