Sobes.tech
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);