Заявление CREATE INDEX
CREATE INDEX
Заявление CREATE INDEX создает индекс по указанному столбцу(столбцам) указанной таблицы. Поддерживаются составные индексы по нескольким столбцам/выражениям.
Поддерживаются одномерные индексы, многомерные индексы пока не поддерживаются.
Примеры
Создать уникальный индекс films_id_idx по столбцу id таблицы films:
CREATE UNIQUE INDEX films_id_idx ON films (id);
Создать индекс s_idx который допускает дублирование значений по столбцу revenue таблицы films:
CREATE INDEX s_idx ON films (revenue);
Создать составной индекс gy_idx по столбцам genre и year:
CREATE INDEX gy_idx ON films (genre, year);
Создать индекс i_index по выражению суммы столбцов j и k из таблицы integers:
CREATE INDEX i_index ON integers ((j + k));
Параметры
| Имя | Описание |
|---|---|
UNIQUE | При создании индекса (если данные уже существуют) и при добавлении данных система проверяет наличие дубликатов в таблице. Попытка вставки или обновления данных, которые приведут к дублированию записей, приведет к ошибке. |
name | Имя создаваемого индекса. |
table | Имя индексируемой таблицы. |
column | Имя индексируемого столбца. |
expression | Выражение, основанное на одном или нескольких столбцах таблицы. Выражение обычно должно быть записано в скобках, как показано в синтаксисе. Однако скобки можно опустить, если выражение имеет форму вызова функции. |
index type | Указанный тип индекса, см. Индексы. Необязательно. |
option | Параметр индекса в виде булевого значения true (например, is_cool) или пары ключ-значение (например, my_option = 2). Необязательно. |
Синтаксис
DROP INDEX
DROP INDEX удаляет существующий индекс из системы базы данных.
Примеры
Удалить индекс title_idx:
DROP INDEX title_idx;
Параметры
| Имя | Описание |
|---|---|
IF EXISTS | Не выводить ошибку, если индекс не существует. |
name | Имя удаляемого индекса. |
Синтаксис
© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/sql/statements/create_index.html