Якщо стовпець має обмеження 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.
Примітка: Видалення індексу означає, що видаляється лише індекс. Дані у вихідній таблиці залишаються незмінними.
