Фрагментация индекса и реорганизация страниц базы данных
Допустим, у вас есть база данных с сильной фрагментацией индекса. Скажем, в этой базе данных также много свободного места из-за частых удалений в файле данных. Это свободное пространство не является смежным.
Если я перестрою все индексы, чтобы удалить фрагментацию, а затем реорганизую страницы базы данных, чтобы выделенные страницы и свободные страницы были смежными, не вызовет ли это дальнейшей фрагментации в моих индексах?
Я предполагаю, что вопрос можно сформулировать так: если это имеет значение, что я должен сделать в первую очередь, реорганизовать или перестроить?
1 ответ
Вы должны сделать одно или другое, но не оба. Результат обеих операций - одно и то же. Что вы должны сделать, будет зависеть от того, насколько фрагментирован ваш индекс, и если вы хотите, чтобы статистика обновлялась одновременно (перестройка обновляет статистику для индекса).
Это также будет зависеть от того, какое издание у вас есть. Восстановление индексов является автономной операцией, если у вас нет версии Enterprise Server SQL Server 2005 или новее или выше.
Обычно люди начинают с дефрагментации своих индексов, когда фрагментация показывает менее 70%, и перестраивают, когда она превышает 70%.