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);