Если столбец имеет ограничение CREATE INDEX, то данные извлекаются быстрее, если мы используем именно этот столбец для извлечения данных.
Индекс — это объект базы данных, создаваемый с целью повышения производительности поиска данных. Таблицы в базе данных могут иметь большое количество строк, которые хранятся в произвольном порядке, и их поиск по заданному критерию путем последовательного просмотра таблицы строка за строкой может занимать много времени. Словно закладка в книге, индекс помогает быстро получить доступ к требуемым данным в таблице, согласно SQL-запросу. Таким образом, использование индексов позволяет ускорить получение данных.
Например:
1 2 3 4 5 6 7 8 9 10 |
-- Создаем таблицу CREATE TABLE Colleges ( college_id INT PRIMARY KEY, college_code VARCHAR(20) NOT NULL, college_name VARCHAR(50) ); -- Создаем индекс CREATE INDEX college_index ON Colleges(college_code); |
Здесь мы создаем индекс с именем college_index в таблице Colleges, используя столбец college_code.
Примечание: Увидеть разницу в скорости при малом количестве данных в таблице проблематично. Однако при большом количестве данных можно легко заметить разницу в скорости между использованием индексов и без них.
CREATE UNIQUE INDEX для уникальных значений
Если нужно создать индексы для уникальных значений в столбце, следует использовать ограничение CREATE UNIQUE INDEX
. Например:
1 2 3 |
-- Создаем уникальный индекс CREATE UNIQUE INDEX college_index ON Colleges(college_code); |
Здесь мы создаем уникальный индекс с именем college_index в таблице Colleges, используя столбец college_code.
Удалить индекс из таблиц
Для удаления индекса из таблицы используется оператор DROP INDEX
. Например:
SQL Server
1 |
DROP INDEX Colleges.college_index; |
PostgreSQL, Oracle
1 |
DROP INDEX college_index; |
MySQL
1 2 |
ALTER TABLE Colleges DROP INDEX college_index; |
Здесь мы удаляем ограничение college_index из таблицы Colleges.
Примечание: Удаление индекса означает, что удаляется только индекс. Данные в исходной таблице остаются неизменными.