Перестроение индексов SQL — когда?

Когда следует перестраивать индексы? Ночью? Еженедельно? Почасовая?


person 0xB33F    schedule 18.05.2010    source источник
comment
Только что найдено: stackoverflow.com/questions/1331236/   -  person 0xB33F    schedule 18.05.2010


Ответы (4)


Это зависит от уровней фрагментации, а не от временных рамок в целом, см. Сценарий автоматической дефрагментации индекса от Мишель Аффорд, он проверяет уровни фрагментации и перестраивает/реорганизует только при необходимости.

person SQLMenace    schedule 18.05.2010

Запускайте интеллектуальный скрипт (из SQL Fool) каждую ночь скажем, и он решит ничего не делать, дефрагментировать или пересобрать.

По сути, сделайте минимум, соответствующий вашим уровням фрагментации.

Лично я запускал его каждую ночь, как правило. Я бы восстанавливал статистику каждую ночь, по крайней мере.

person gbn    schedule 18.05.2010

Это зависит от степени фрагментации индексов.

Если значение avg_fragmentation_in_percent > 5 % и ‹ = 30 %, вам следует реорганизовать индекс. Если значение avg_fragmentation_in_percent > 30%, вам следует перестроить индекс.

person Chirag    schedule 11.04.2013

Из документации SQL Server 2005:
Выполните команду ALTER INDEX ... REORGANIZE для дефрагментации индексов, попадающих под следующие пороги фрагментации: (avg_page_space_used_in_percent ‹ 75 и >60) или (avg_fragmentation_in_percent > 10 и ‹15)

Выполните ALTER INDEX ... REBUILD, чтобы дефрагментировать индексы, попадающие под следующие пороги фрагментации: (avg_page_space_used_in_percent ‹60) или (avg_fragmentation_in_percent > 15)

person a1ex07    schedule 18.05.2010