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

Лекція 13. Індексація даних в бд.

Поняття індексації даних. Структура індекса. Способи організації індексів. Деревоподібні, хеш та бітові індекси. Методи доступу. Зберігання даних. Індексація. Кластеризація. Розподіл. Індексація за і проти.

13.1. Поняття індексації даних.

Індекс- це допоміжна структура, що дозволяє СУБД пришвидшити пошук даних по запитах користувачів.

У системах без індексів весь пошук даних виконується шляхом сканування таблиць. При скануванні (послідовному переборі записів) таблиць приходиться читати всі дані і перевіряти їх на предмет відповідності предикату умови вказаному в речені WHERE. Витрати часу на пошук інформації напряму залежать від кількості записів в таблиці і можуть значно зменшити загальну продуктивність ІС через велику кількість дискових операцій, що може зайняти тривалий період часу і вимагати використання великої кількості системних ресурсів.

Тому природнім був шлях пошуку такої технології доступу до даних, яка б дозволила уникнути сканування таблиць.

Використання індексації даних дозволяє кардинально знизити кількість операцій звернення до зовнішньої пам’яті (дискових, ...), прискоривши доступ до даних і звільнивши системні ресурси для інших операцій.

Ідея індексації полягає в заміні сканування таблиці скануванням спеціально впорядкованої допоміжної структури, яка називається індексом.

2.Структура індекса. Аналогією індекса може слугувати зміст будь якої книги з вказаними номерами сторінок, де починається той чи і інший розділ.

Найпростіша структура індекса має вигляд:

Значення атрибута

Row ID – ідентифікатор рядка таблиці, що автоматично формується системою при внесені запису в таблицю і включає в себе номер сторінки і номера рядка даних

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

Корисною властивістю індексу є забезпечення прискорення операцій сортування в реченнях ORDER BY. Це пов’язано з тим, що індекс завжди зберігає свої значення впорядкованими (по зростанню, чи спаданню), що дає можливість замінити алгоритми сортування послідовним скануванням кортежів відношення в діапазоні значень ключа в порядку зростання або спадання значень ключа (в залежності з якого кінця почати).

З метою оптимізації виконання природнього з’єднання відношень (найбільш розповсюдженої з числа дорогих операцій) є організація так званих мультиіндексів для декількох логічно поєднуваних відношень, що мають атрибути, визначені на одному домені. Один із них може бути використаний як ключ мультиіндекса. Значенню ключа зіставляється набір кортежів усіх зв'язаних з мультиіндексом відношень, значення атрибутів яких збігаються зі значенням ключа.

Структури індексу відрізняється способом пошуку ключа за заданим значенням. По цьому критерію розрізняють системи індексації з використанням технології B-дерева та хеширування

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