====== ALTER INDEX ======
===== Версии сервера =====
^ 0.9 ^ 1.0 ^ 1.5.3 ^ 1.5.4 ^ 1.5.5 ^ 2.0 ^ 2.0.3 ^ 2.0.4 ^ 2.1 ^ 2.5 ^ 3.0 ^
| Да | Да | Да | Да | Да | Да | Да | Да | Да | ? | ? |
===== Формат =====
ALTER INDEX name {ACTIVE | INACTIVE};
^ Аргумент ^ Описание ^
|name |Имя существующего индекса.|
|ACTIVE |Включает индекс - изменяет состояние INACTIVE индекса на ACTIVE.|
|INACTIVE |Выключает индекс - изменяет состояние ACTIVE индекса на INACTIVE.|
===== Описание =====
ALTER INDEX делает неактивный индекс доступным для использования или отключает использование активного индекса. Отключение и включение индекса полезно, когда изменения в распределении индексированных данных, делают индекс несбалансированным.
Перед вставкой или изменением большого количества строк, отключите индексы таблицы, чтобы избежать изменения идексов, затем активизируйте их заново.
Чтобы перекомпоновать и восстановить баланс индекса, отключите и включите индекс. Этот метод создает заново сбалансированный индекс.
Если индекс используется, ALTER INDEX не дает ни какого эффекта, пока индекс не освободится от использования.
Инструкция ALTER INDEX терпит неудачу и возвращает ошибку, если индекс определен, как UNIQUE, PRIMARY KEY или FOREIGN KEY ограничение. Для изменения таких индексов, используйте [[DROP INDEX]], чтобы удалить индекс, и создать его заново с помощью [[CREATE INDEX]].
Индекс может быть изменен его создателем и пользователем SYSDBA.
:!: Чтобы добавить или удалить столбцы или ключи, используйте [[DROP INDEX]], чтобы удалить индекс, и создать его заново с помощью [[CREATE INDEX]].
===== Пример =====
Следующие инструкции отключают и включают индекс, чтобы его перекомпоновать:
ALTER INDEX BUDGETX INACTIVE;
ALTER INDEX BUDGETX ACTIVE;
===== См. также =====
[[ALTER TABLE]], [[CREATE INDEX]], [[DROP INDEX]], [[SET STATISTICS]]
===== Источник =====
langref.pdf