Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Изменение индекса
Активация/деактивация
Оператор ALTER INDEX используется для переключения состояния индекса из активного в неактивное и наоборот. Он может быть применен для отключения индекса перед добавлением или изменением большого пакета строк и устранения при этом дополнительных затрат для поддержки индексов в процессе длительной операции. После этой операции индексирование может быть восстановлено, и индексы будут пересозданы.
Другое использование этого оператора - служебные действия. В нормальных условиях распределение значений меняется постепенно, а при некоторых рабочих условиях - более часто.
Структуры двоичных деревьев, в которых хранятся индексы, могут стать разбалансированными. Переключение индекса из активного в неактивное состояние и обратно пересоздает и балансирует[54] индекс.
Синтаксис:
ALTER INDEX имя-индекса INACTIVE | ACTIVE ;
Ошибка "индекс находится в использовании"
Индекс, используемый в транзакции, не может быть изменен или удален, пока не завершится использующая его транзакция. Такие попытки будут иметь различные результаты в зависимости от установок блокировки активной транзакции:
* в транзакции WAIT оператор ALTER INDEX ожидает, пока не завершится транзакция;
* с транзакции NOWAIT Firebird возвращает ошибку.
Информацию об установках блокировок транзакций см. в разд. "Разрешение блокировок" главы 26.
- Улучшение селективности индекса
- Изменение структуры индекса
- Удаление индекса
- Ускоренная работа с индексами
- Уменьшение размера, занимаемого индексами
- Добавление, изменение и удаление элементов списка
- Добавление, изменение и удаление столбцов списка
- Добавление и изменение представления списка
- Часть II Изменение способов ведения бизнеса
- Изменение состояния виртуальной машины
- 8.2. Изменение пароля доступа к маршрутизатору
- 3.6.3. Изменение параметров сетевого подключения