Индексы представляют собой специальные таблицы поиска, которые поисковая система базы данных может использовать для ускорения поиска данных. Проще говоря, index
является указателем на данные в таблице. Индекс в базе данных очень похож на индекс в конце книги.
Например, если вы хотите ссылаться на все страницы в книге, в которой обсуждается определенная тема, сначала обратитесь к индексу, в котором перечислены все темы в алфавитном порядке и затем указаны один или несколько конкретных номеров страниц.
Индекс помогает ускорить запросы SELECT
и предложения WHERE
, но это замедляет ввод данных с помощью операторов UPDATE
и INSERT
. Индексы могут быть созданы или удалены без влияния на данные.
Создание индекса включает оператор CREATE INDEX
, который позволяет вам указывать индекс, указывать таблицу и столбцы или столбцы для индексации, а также указывать, находится ли индекс в порядке возрастания или убывания.
Индексы также могут быть уникальными, подобно ограничению UNIQUE
, поскольку индекс предотвращает дублирование записей в столбце или комбинации столбцов, на которых есть индекс.
Команда CREATE INDEX
Ниже приведен основной синтаксис CREATE INDEX
.
CREATE INDEX index_name ON table_name;
Одиночные колонки
Индекс с одним столбцом - это тот, который создается на основе только одного столбца таблицы. Основной синтаксис выглядит следующим образом:
CREATE INDEX index_name
ON table_name (column_name);
Уникальные индексы
Уникальные индексы - используются не только для производительности, но и для целостности данных. Уникальный индекс не позволяет вставлять повторяющиеся значения в таблицу. Основной синтаксис выглядит следующим образом:
CREATE UNIQUE INDEX index_name
on table_name (column_name);
Композитные индексы
Составной индекс - это индекс на двух или более столбцах таблицы. Основной синтаксис выглядит следующим образом:
CREATE INDEX index_name
on table_name (column1, column2);
Чтобы создать индекс с одним столбцом или составной индекс, учитывайте столбцы (столбцы), которые вы можете использовать очень часто в предложении WHERE
запроса в качестве условий фильтра.
Если используется только один столбец, должен быть выбран один столбцовый индекс. Если есть два или более столбца, которые часто используются в предложении WHERE
в качестве фильтров, составной индекс будет лучшим выбором.
Неявные индексы
Неявные индексы - это индексы, которые автоматически создаются сервером базы данных при создании объекта. Индексы автоматически создаются для ограничений первичного ключа и уникальных ограничений.
Команда DROP INDEX
Индекс можно удалить с помощью команды SQLite DROP
. Следует соблюдать осторожность при снижении индекса, поскольку производительность может замедляться или улучшаться.
DROP INDEX index_name;
Вы можете использовать следующий оператор для удаления ранее созданного индекса.
sqlite> DROP INDEX salary_index;
0 комментариев