Назад | Перейти на главную страницу

Фрагментация индекса и реорганизация страниц базы данных

Допустим, у вас есть база данных с сильной фрагментацией индекса. Скажем, в этой базе данных также много свободного места из-за частых удалений в файле данных. Это свободное пространство не является непрерывным.

Если я перестрою все индексы для устранения фрагментации, а затем реорганизую страницы базы данных так, чтобы выделенные и свободные страницы были смежными, вызовет ли это дальнейшую фрагментацию в моих индексах?

Думаю, вопрос можно сформулировать так: если это имеет значение, что мне делать в первую очередь, реорганизовать или перестроить?

Вы должны сделать то или другое, но не то и другое одновременно. Результат обеих операций одинаков. Что вам следует сделать, будет зависеть от того, насколько фрагментирован ваш индекс, и если вы хотите, чтобы статистика обновлялась одновременно (при перестроении обновляется статистика для индекса).

Это также будет зависеть от того, какая у вас версия. Восстановление индексов выполняется в автономном режиме, если у вас не установлена ​​версия Enterprise или новее SQL Server 2005 или новее.

Обычно люди начинают с дефрагментации своих индексов, когда фрагментация составляет менее 70%, и перестраивают, когда она превышает 70%.