Sobes.tech
Middle

Jaké druhy indexů existují?

sobes.tech AI

Odpověď od AI

Typy indexů závisí na kontextu jejich použití, obvykle v databázích.

Podle struktury uložení:

  • B-strom (B-Tree): Nejčastější typ, používá se pro seřazené ukládání dat a rychlé vyhledávání rozsahů.
  • B+ strom (B+ Tree): Varianta B-stromu, kde jsou všechna data uložena v listových uzlech, což optimalizuje sekvenční čtení.
  • Hash index: Založen na hash tabulkách, efektivní pro hledání přesných shod, ale nevhodný pro hledání rozsahů nebo třídění.
  • R-strom (R-Tree): Používá se pro indexaci vícerozměrných dat, například geografických souřadnic.

Podle účelu:

  • Primární klíč index: Automaticky se vytváří pro primární klíč, zajišťuje unikátnost a slouží jako identifikátor záznamu.
  • Sekundární index: Vytváří se na jednom nebo více sloupcích pro urychlení dotazů, které nejsou primárním klíčem.
  • Unikátní index: Zaručuje unikátnost hodnot ve sloupci (nebo kombinaci sloupců).
  • Fulltextový index: Používá se pro hledání v textu uvnitř sloupců.
  • Prostorový index: Používá se pro indexaci prostorových dat.

Podle způsobu tvorby:

  • Clustered index: Určuje fyzické pořadí ukládání dat v tabulce. Tabulka může mít pouze jeden clusterový index.
  • Non-clustered index: Ukládá ukazatele na skutečná data, která mohou být uspořádána jinak.

Příklad tvorby indexů v SQL:

-- Vytvoření běžného indexu
CREATE INDEX idx_lastname ON Employees (LastName);

-- Vytvoření unikátního indexu
CREATE UNIQUE INDEX idx_employeeid ON Employees (EmployeeID);

-- Vytvoření složeného indexu
CREATE INDEX idx_name_city ON Customers (FirstName, City);