Middle
Какви видове индекси съществуват?
sobes.tech AI
Отговор от AI
Видовете индекси зависят от контекста на тяхното приложение, обикновено в бази данни.
По структура на съхранението:
- B-дерево (B-Tree): Най-разпространеният тип, използва се за сортирано съхранение на данни и бързо търсене на диапазони.
- B+ дърво (B+ Tree): Вариант на B-дервото, при който всички данни се съхраняват в листовите възли, което оптимизира последователното четене.
- Hash индекс: Основава се на хеш таблици, ефективен за търсене на точни съвпадения, но не е подходящ за търсене на диапазони или сортиране.
- R-дерево (R-Tree): Използва се за индексиране на многомерни данни, например географски координати.
По предназначение:
- Индекс на първичен ключ: Създава се автоматично за първичния ключ, осигурява уникалност и служи като идентификатор на записа.
- Вторичен индекс: Създава се върху една или повече колони за ускоряване на заявките, които не са първичен ключ.
- Уникален индекс: Гарантира уникалността на стойностите в индексируемата колона (или комбинация от колони).
- Пълен текстов индекс: Използва се за търсене в текстове в рамките на колони.
- Специален индекс: За индексиране на пространствени данни.
По начин на създаване:
- Клъстерен индекс: Определя физическия ред на съхранение на данните в таблицата. Таблицата може да има само един клъстерен индекс.
- Неклъстерен индекс: Съхранява указатели към реалните данни, които могат да бъдат разположени в друг ред.
Пример за създаване на индекси в SQL:
-- Създаване на обикновен индекс
CREATE INDEX idx_lastname ON Employees (LastName);
-- Създаване на уникален индекс
CREATE UNIQUE INDEX idx_employeeid ON Employees (EmployeeID);
-- Създаване на съставен индекс
CREATE INDEX idx_name_city ON Customers (FirstName, City);