Операции с индексами
2.5. Операции с индексами
Индексы существенно ускоряют процесс поиска и упорядочивания записей таблицы. Если в операторе Select содержится элемент упорядочивания ORDER BY, то если перечисляемые поля совпадают с определенными в индексе – упорядочивание будет использовать этот индекс и произойдет с малыми затратами времени. В противном случае индекс использоваться не будет и упорядочивание потребует большего времени. Индекс будет использоваться и в том случае, если в ORDER BY перечислены не все поля индекса, а какие – то первые из них. Например, если создан индекс по полям pi, р2, рЗ, то при выполнении запроса
Select ...ORDER BY pl,p2
индекс будет использоваться, а запрос
Select... ORDER BY pl,p3
будет обрабатываться без использования индекса. Создание нового индекса осуществляется оператором Create Index:
CREATE INDEX <имя индекса> ON <имя таблицы > <список полей>
Рекомендуемые материалы
Пример 68.
CREATE INDEX Depyear ON Pers Dep, Year_b
Удаление существующего индекса осуществляется оператором Drop Index:
В лекции "Дополнение 4" также много полезной информации.
DROP INDEX <имя таблицы >.<имя индекса>
Пример 69.
DROP Index Pers.Depyear
Если таблица многократно изменяется и в нее вносится много новых записей, индексы могут оказаться, разбалансированы и их эффективность при выполнении запросов уменьшается. В этом случае полезно проводить повторное создание и балансировку индекса последовательным применением операторов деактивации и активации:
ALTER INDEX <имя индекса> DEACTIVATE ALTER INDEX <имя индекса> ACTIVATE
Перестройка индекса может производиться только в случае, если он в данный момент не используется в запросах.