Ця функція зменшує значення ключа х шляхом взяття залишку від цілочисельного
ділення на N і використовує це значення як номер запису для доступу до неї. На рис 1
приведена ілюстрація використання хеш-індекса для БД з числовими ключами. Хеш-
таблиця містить десять елементів, пронумерованих від 0 до 9 ( на практиці хеш-таблиці
можуть мати набагато більше). В якості хеш-функції використовується функція
f(x)=xmod10. Даний запит, вибирає всі запити, у яких ключовий атрибут рівний 45. Адреса
записів, що містять ключовий атрибут з таким значенням, є в 5-му елементі хеш-таблиці.
Якщо кожне ключове значення хешується у власному елементі таблиці, то час доступу
по любому ключовому значенню постійно. В загальному випадку це не так. Декілька
різних ключових значень можуть бути хешовані в одному і тому ж елементі індекса. Це
явище називається колізією. Способи вирішення цієї проблеми описані в большості книг
по структурам даних. Рішення, що використовується на рис.1 основується на використанні
звязного списку для зберігання адрес всіх записів, ключі яких хешовані в одному і томуж
елементі хеш-таблиці. Кінцевий результат – в будь-якому випадку – полягає в тому, що
при пошуку в базі даних переглядається невелика кількість даних, що набагато менше,
ніж при простому безпосередньому доступі. Для хороших хеш-функцій і не дуже
заповнених хеш-таблиць час доступу залишається приблизно постійним при будь-якому
значенні ключа. Використання хешування найкраще підходить для обробки записів з
обмеженнями вида KEY=VALUE і менш придатне для обробки запитів з вказанням
діапазону значень.
Індекси нав основі В+-дерев
В-дерева та В+дерева являються збалансованими деревами пошуку, які можна
використовувати для індексації баз даних. Вони зручні для обробки запитів, в яких
вказаний діапазон допустимих значень. В В-деревах значення ключів і даних зберігаються
у внітрішніх і в листових вузлах. В В+ деревах, так як дані в базі даних повинні
зберігатися окремо від індекса.
Дерево пошуку порядку р представляє собою дерево, в якому кожен вузол
містить не більше р-1 ключових значень і р вказівників. В+ дерево являється
деревом пошуку, у якого формати представлення внутрішніх і листових вузлів
розрізняються. Кожен внутрішній вузол В+ дерева повинен задовольняти
наступним умовам:
Вузол має формат (P1,K1,P2,K2,….,Pq-1,Kq-1,Pq), де кожне значення Рі
являється вказівником на інший вузол, а кожне Кі являється ключовим значенням.
Можна рахувати що Рі-1 вказує на піддерево, у якого вузли містять ключі,