SQL — Индексы. Подробный гайд.

Индексы SQL представляют собой специальные таблицы, которые поисковая система базы данных может использовать для ускорения поиска данных. Проще говоря, индекс является указателем на данные в таблице. Индекс в базе данных очень похож на содержание в конце книги.

@sqlhub – лучшие практики и вопросы с собеседований sql.

Например, если вы хотите сослаться на все страницы в книге, на которых рассмотрена определенная тема, вам сначала нужно сослаться на индекс, в котором перечислены все темы в алфавитном порядке, а затем на несколько конкретных номеров страниц.
Индекс позволяет увеличить производительность запросов SELECT и WHERE, но замедляет ввод данных с помощью операторов UPDATE и INSERT. Индексы можно создать или удалить не затрагивая данные.

Создание индекса включает инструкцию CREATE INDEX, которая позволяет указать индекс, таблицу и столбцы или столбцы для индексации, а также задать порядок индексации: по возрастанию или по убыванию.

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

Команда CREATE INDEX

Основной синтаксис CREATE INDEX следующий.

1CREATE INDEX index_name ON table_name;

Одиночные индексы

Индекс для одного столбца создается на основе только одного столбца таблицы. Основной синтаксис следующий.

12CREATE INDEX index_nameON table_name (column_name);

Уникальные индексы

Уникальные индексы используются не только для увеличения производительности, но и для обеспечения целостности данных. Уникальный индекс запрещает вносить в таблицу дублированные данные. Основной синтаксис следующий.

12CREATE UNIQUE INDEX index_nameon table_name (column_name);

Составные индексы

Составной индекс — это индекс для одного или более столбцов таблицы. Его основной синтаксис следующий.

Неявные индексы

Неявные индексы — это индексы, которые автоматически создаются сервером базы данных при создании объекта. Индексы автоматически создаются для ограничений primary key и unique.

Команда DROP INDEX

Индекс можно удалить с помощью команды SQL DROP. При удалении индекса нужно быть осторожным, потому что это может повлиять на производительность.

Основной синтаксис следующий:

1DROP INDEX index_name;

Некоторые практические примеры использования индексов вы можете найти в главе Ограничение INDEX.

Когда не следует использовать индексы?

Хотя индексы предназначены для повышения производительности базы данных, бывают случаи, когда их использовать не следует.
Ниже приведен список случаев, в которых использовать индексы не рекомендуется.

Индексы не должны использоваться в небольших таблицах.

Индексы не должны в таблицы, в которых часто выполняются массовые операции update или insert.

Индексы не должны использоваться для столбцов, содержащих большое количество значений NULL.

Столбцы, которые часто обрабатываются, также не должны индексироваться.

Источник

+1
0
+1
1
+1
4
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *