я запитів, що включають складовою індекс, не потрібно поміщати всі індексні ключі в пропозицію WHERE оператора SQL. Однак, використання більше одного індексного поля в умові вибірки даних, може сприятливо вплинути на час виконання запиту, оскільки, в іншому випадку, буде ініційовано сканування індексу. При скануванні індексу відбувається сканування вузлів всередині індексу для зчитування кількох записів даних. p align="justify"> Існують також унікальні і неунікальні індекси. Унікальний індекс - це індекс, який гарантує унікальність даних у індексованих стовпцях. Дані в індексованих унікальним індексом стовпцях повинні мати властивість унікальності (т.е не повинні повторяться). Якщо спробувати вставити в таблицю рядок, яка дає дубльоване значення індексного ключа в унікальному індексі, то будь-яка СУБД поверне повідомлення про помилку і додавання запису не буде виконана. Іноді, буває розумно мати в таблиці унікальний індекс не по одному полю, а по декількох - для цього служить складовою унікальний індекс. Суть цього полягає в тому, що унікальним індексним ключем є сукупність значень цих полів. p align="justify"> Використання некластерного індексу означає, що фізично кортежі в таблиці не будуть упорядковуватися по якомусь правилу. Для ідентифікації потрібного рядка в таблиці некластерние індекс організовує спеціальні покажчики, що включають в себе інформацію про ідентифікаційний номер файлу, в якому зберігається рядок, ідентифікаційний номер сторінки відповідних даних, номер шуканої рядка на відповідній сторінці і вміст стовпця. p align="justify"> При використанні кластерного індексу, кортежі в таблиці фізично упорядковуються за значенням індексованого поля. Такий механізм індексації може істотно підвищити продуктивність запитів, що виконують пошук за значенням цього поля. Це відбувається головним чином через те, що відпадає необхідність пошуку значення в таблиці індексів по заданому ключу. Зрозуміло, що на одній таблиці може бути визначений лише один простий кластерний індекс
У більшості випадків, в основі організації індексів лежить структура даних, називана B-деревом. В-деревом (B - Balanced, збалансоване дерево) порядку n називається сильно гілкуються дерево ступеня 2n +1, що має такими властивостями:
Кожен вузол, за винятком кореня, містить не менше n і не більше 2n ключів;
Корінь містить не менше одного і не більше 2n ключів;
Усі листки розташовані на одному рівні;
кожного не листової вузол містить два списки: упорядкований за зростанням значень список ключів і відповідний йому список покажчиків (для листових вузлів список покажчиків відсутня).
Загальний вигляд B-дерева схематично зображений на малюнку, додатка Б.
Фізично, B-дерево являє собою мультіспісочную структуру, в якій кож...