Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL_mova_strukturovanikh_zapitiv.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
932.78 Кб
Скачать

4.5.2. Використання індексів

Одним зі способів подання даних не в тому порядку, в якому вони зберігаються, є використання індексів. Вони забезпечують:

  • задоволення вимоги унікальності записів;

  • підтримку логічної упорядкованості даних відповідно до значень одного чи кількох полів;

  • оптимізацію виконання запитів.

З погляду користувача, індекс — це перелік стовпців таблиці, за значеннями яких записи логічно впорядковуються. З погляду СКБД, індекс - це механізм, що дає змогу значно підвищити швидкість доступу до записів за індексованими поля­ми та забезпечує ефективну перевірку унікальності значень індексованих полів.

Визначення індексу

Базовий синтаксис оператора визначення індексу є таким:

CREATE INDEX <ім'я індексу>

ON <ім'я таблиці> (<поле 1> [,<поле 2>]...)

У багатьох СКБД оператор визначення індексу доповнюється іншими конст­рукціями.

Правила використання індексів

Використовуючи індекси, варто брати до уваги такі міркування.

  • У таблицях невеликих розмірів індекси майже не забезпечують підвищення продуктивності.

  • Продуктивність значно підвищується в тих випадках, коли стовпці містять переважно неповторювані дані чи багато NULL-значень.

  • Завдяки індексам оптимізується виконання запитів, що видають невелику кіль­кість рядків (до 25 %).

  • Пам'ятайте, що індекси прискорюють пошук даних, однак сповільнюють про­цес їхнього оновлення, що стає особливо відчутним під час одночасного онов­лення великої кількості рядків. У подібних випадках перед оновленням ін­декс потрібно видаляти, а після завершення даної операції - відновлювати.

  • Зберігання індексів потребує значних обсягів пам'яті. Якщо СКБД дає змогу керувати пам'яттю, слід відвести частину пам'яті під індекси.

  • Потрібно завжди індексувати поля, що використовуються для з'єднання таб­лиць. Це значно прискорює виконання запитів.

•♦■ Не слід індексувати поля, які регулярно оновлюються.

♦ Не бажано зберігати індекси разом із таблицями на одному фізичному при­ строї. Розподіл цих об'єктів між носіями інформації знижує навантаження на них та прискорює виконання запитів.

Складені індекси

SQL дає змогу створювати індекс за кількома полями. Наприклад, оператор

CREATE INDEX КАФЕДРА_ЗАВІДУВАЧ_НАЗВА ON КАФЕДРА(#ЗАВІДУВАЧ. Назва)

створює індекс у таблиці КАФЕДРА за полями #ЗАВІДУВАЧ і Назва.

У складених індексах слід спочатку зазначати поля, що використовуються най­частіше. Складені індекси потрібно застосовувати тоді, коли зазначені в них поля використовуються для опису умови вибирання даних.

Використання фрази UNIQUE

Фраза UNIQUE вказує, що значення індексу мають бути унікальними. Наприклад, оператор

CREATE UNIQUE INDEX ГРУПА_ІД ON ГРУПА(#G)

вимагає, щоб у таблиці ГРУПА значення поля #G були неповторюваними.

Порядок сортування полів у індексі

У деяких СКБД надається можливість зазначати порядок сортування полів, що індексуються. Наприклад, оператор

CREATE INDEX ФАКУЛЬТЕТ_НАЗВА_ДЕКАН ON ФАКУЛЬТЕТСНазва DESC. Декан)

вказує на необхідність індексування таблиці ФАКУЛЬТЕТ за стовпцем Назва у поряд­ку спадання, а за стовпцем Декан - у порядку зростання. За замовчуванням сорту­вання здійснюється в порядку зростання.

Видалення індексу

Видалення індексу виконується командою DROP INDEX, що має такий синтаксис:

DROP INDEX <ім'я індексу>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]