14 мая 2011 г.

oracle: Перестройка индексов

При перестройке индекса существующий индекс используется в качестве источника данных. Такое повторное создание индекса позволяет изменить параметры хранения индекса или перемещать его в новое табличное пространство. Такая перестройка позволяет попутно устранить фрагментацию внутри блока. По сравнению с удалением индекса и повторным созданием, используя CREATE INDEX, повторное создание существующего индекса обеспечивает большую производительность.

-- перестроим индекс:
ALTER INDEX EVENT_NO REBUILD;

Предложение REBUILD должно следовать непосредственно за именем индекса, предваряя все другие параметры. Его нельзя использовать вместе с DEALLOCATE UNUSED.

-- перестроим индекс в оперативном режиме:
ALTER INDEX EVENT_NO REBUILD ONLINE;

Такое перестроение можно делать только в том случае, если есть такая возможность. Если вдруг случается, что необходимого пространства для перестроения индекса, то можно произвести слияние данных в индексных группах. Слияние можно выполнять в оперативном режиме.