double arrow

Типы индексов

Примеры

Синтаксис

Описание

CREATE INDEX (InterBase)

Команда CREATE INDEX

Форма оператора CREATE INDEX, как формы многих других операторов SQL, может варьироваться в зависимости от конкретной реализации языка. Многие реализации поддерживают следующий синтаксис оператора.

CREATE INDEX имя_индекса ON имя_таблицы

Очень большие отличия для различных реализаций языка наблюдаются в допустимых опциях оператора CREATE INDEX. Некоторые реализации SQL допускают опции управления памятью (как в операторе CREATE TABLE), опции упорядочения (DESC | ASC), а также использование кластеров. Чтобы выяснить корректный синтаксис, необходимо обратиться к документации по той конкретной реализации языка, которую вы используете.

Используйте CREATE INDEX, что бы улучшить скорость доступа к данным. Использование индекса для столбцов, которые появляются в предложении WHERE, может улучшить эффективность поиска.

Важно: Столбцы типов BLOB и массивы не могут быть индексированы.

UNIQUE индекс не может быть создан на столбце или наборе столбцов, которые уже содержат повторяющиеся или NULL значения.

ASC и DESC определяют порядок, в котором индекс сортирован. Для более быстрого ответа на запросы, используйте индексы, порядок которых соответствует предложению ORDER BY запроса. И ASC, и DESC индекс может быть создан на одном и том же столбце или наборе столбцов, чтобы обратится к данным в различном порядке.

Совет: Для улучшения эффективности индекса, use SET STATISTICS to recompute index selectivity, or rebuild the index by making it inactive, then active with sequential calls to ALTER INDEX.

CREATE [UNIQUE] [ASC[ENDING] | DESC[ENDING]] INDEX index ON table (col [, col ...]);

Аргумент Описание
UNIQUE Предотвращает вставку или модификацию данных, приводящих к дублированию значений в индексированных столбцах.  
ASC[ENDING] Сортирует столбцы в возрастающем порядке, это порядок по умолчанию, если ничего не определено.  
DESC[ENDING] Сортирует столбцы в убывающем порядке.  
index Уникальное имя для индекса.  
table Имя таблицы, для которой индекс определен.  
col Столбец в индексируемой таблице.  

Следующая инструкция создает уникальный индекс:

CREATE UNIQUE INDEX PRODTYPEX ON PROJECT (PRODUCT, PROJ_NAME);

Следующая инструкция создает убывающий индекс:

CREATE DESCENDING INDEX CHANGEX ON SALARY_HISTORY (CHANGE_DATE);

Следующая инструкция создает индекс, состоящий из двух столбцов:

CREATE INDEX NAMEX ON EMPLOYEE (LAST_NAME, FIRST_NAME);

Для таблиц базы данных можно создать индексы нескольких типов, но все индексы служат одной цели – ускорению работы с базой данных посредством ускорения поиска данных. На этом уроке мы рассмотрим простые индексы (построенные по данным одного столбца), составные или композитные индексы (комбинирующие данные нескольких столбцов) и уникальные индексы.

В некоторых реализациях SQL индексы могут создаваться уже при создании таблицы. Большинство реализаций языка для создания индексов предлагает специальную команду, отличную от команды CREATE INDEX. Наличие или отсутствие специальной команды для создания индексов, как и ее синтаксис, можно уточнить по документации используемого вами языка.


Сейчас читают про: