V databázových systémech existují tři základní typy indexů: běžné, unikátní a primární. Běžný index zrychluje operace vyhledávání a třídění, unikátní index kromě toho zajišťuje unikátnost hodnot v daných sloupcích a primární klíč jednoznačně identifikuje každý řádek. Rozdíl mezi primárním a unikátním klíčem je jednak sémantický a jednak v tom, že primární klíč nesmí obsahovat hodnoty NULL, které mohou být jako jediné v unikátním klíči uloženy vícekrát. Každá tabulka může mít jeden primární klíč a kromě speciálních případů (např. jednořádková tabulka) by měl být vždy definován, aby se k jednotlivým záznamům dalo snadno přistupovat.
Kromě těchto základních případů se slovo index v MySQL používá také v souvislosti s fulltextovým vyhledáváním a zajištěním referenční integrity u tabulek typu InnoDB. Tam se používá syntaxe FOREIGN KEY (moje_sloupce) REFERENCES tabulka (cizí_sloupce)
(mezi názvem odkazované tabulky a závorkou musí být mezera). Pokud se odkazujeme pouze na jeden sloupec, lze klauzuli REFERENCES uvést přímo za datový typ daného sloupce, v MySQL se však tato forma nebere v potaz. Při správně definovaných cizích klíčích databáze zajistí, že do odkazující tabulky nepůjde vložit hodnota, která se v odkazované tabulce nenachází, s využitím triggerů lze navíc aktualizace prováděné v daných tabulkách propojit.
Posledním typem indexů, které jsou v MySQL k dispozici, jsou geometrické indexy rozšíření Spatial.
Přijďte si o tomto tématu popovídat na školení Návrh a používání MySQL databáze.
Diskuse je zrušena z důvodu spamu.