В этом учебном материале вы узнаете, как создавать и удалять индексы с синтаксисом и примерами.
Что такое индекс в SQL
Индекс - это метод настройки производительности, позволяющий быстрее извлекать записи. Индекс создает запись для каждого значения, которое появляется в индексированных столбцах. Каждое имя индекса должно быть уникальным в базе данных.
Создать индекс
Вы можете создать индексы в SQL с помощью оператора CREATE INDEX.
Синтаксис
Синтаксис CREATE INDEX в SQL.
ON table_name (column1, column2, ... column_n);
- UNIQUE
- Модификатор UNIQUE указывает, что комбинация значений в индексированных столбцах должна быть уникальной
- index_name
- Имя, которое нужно присвоить индексу
- table_name
- Имя таблицы, в которой нужно создать индекс
- column1, column2, ... column_n
- Столбцы для использования в индексе
Пример
Рассмотрим пример того, как создать индекс в SQL.
Например.
1 2 |
CREATE INDEX websites_idx ON websites (site_name); |
В этом примере мы создали индекс для таблицы website, который называется website_idx. Он состоит только из одного поля - поля site_name.
Мы также могли бы создать индексы с более чем одним полем, как показано ниже.
1 2 |
CREATE INDEX websites_idx ON websites (site_name, server); |
Это создаст индекс website_idx, который состоит из двух столбцов - site_name и server.
Уникальный индекс
Подобно первичному ключу, уникальный ключ позволяет вам выбрать один столбец или комбинацию столбцов, которые должны быть уникальными для каждой записи. Хотя у вас может быть только один первичный ключ для таблицы, вы можете создать столько уникальных индексов для таблицы, сколько вам нужно.
Чтобы создать уникальный индекс для таблицы, вам нужно указать ключевое слово UNIQUE в операторе CREATE INDEX.
Например.
1 2 |
CREATE UNIQUE INDEX websites_idx ON websites (site_name); |
При этом будет создан уникальный индекс в поле site_name, так что это поле всегда должно содержать уникальное значение без дубликатов. Это отличный способ обеспечить целостность вашей базы данных, если вам требуются уникальные значения в столбцах, которые не являются частью вашего первичного ключа.
Удалить индекс
Вы можете удалять индексы в SQL, используя оператор DROP INDEX.
Синтаксис
Синтаксис удаления индекса в SQL.
Для Oracle и PostgreSQL.
Для MySQL и MariaDB.
ON table_name;
Для SQL Server.
- index_name
- Имя индекса для удаления
- table_name
- Имя таблицы, к которой принадлежит индекс
Пример
Давайте рассмотрим пример того, как удалить индекс с именем sites_idx из таблицы sites.
Для Oracle.
1 |
DROP INDEX websites_idx; |
Поскольку каждое имя индекса должно быть уникальным в базе данных, нам не нужно указывать таблицу websites в операторе DROP INDEX в Oracle.
Для MySQL и MariaDB.
1 2 |
DROP INDEX websites_idx ON websites; |
Для SQL Server.
1 |
DROP INDEX websites.websites_idx; |
Как видите, каждая база данных имеет уникальные различия в своем синтаксисе. Убедитесь, что вы используете правильную команду DROP INDEX.