SQL — Индексы

SQL — Индексы

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

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

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

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

Команда CREATE INDEX

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

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

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

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

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

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

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

Для создания как одиночных, так и составных индексов как правило рекомендуется выбирать столбцы, которые могут часто использоваться в запросе WHERE в качестве фильтра условия.

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

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

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

Команда DROP INDEX

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

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

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

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

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

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

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

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

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

Источник: //www.tutorialspoint.com/

Редакция: Команда webformyself.

Метки:

Похожие статьи:

Комментарии Вконтакте: