SQL - používání indexů
Indexy se v databázích používají ke zrychlení přístupu k datům (zefektivnění vyhledávání) - většinou se řeší až u větších tabulek s hodně záznamy, kdy narazíme na to, že odezva u takové databáze je stále pomalejší .
Indexy se nastavují obvykle jen na sloupce, kde se hodně filtruje a vyhledává obsah, či na spojovací sloupce. Indexu se využívá pro WHERE, ale i pro ORDER BY, GROUP BY, DISTINCT a JOIN. Rozhodně by se neměly nastavovat bez rozmýšlení rovnou na všechny sloupce, protože indexy mají i své nevýhody.
Mezi nevýhody patří zpomalení práce při vkládání a změnách záznamů (zápisy), ale také nám vzrůstá velikost databáze (někam se index musí ukládát).
Přidání indexu
Přidá se obecný index na sloupec name v tabulce table1
ALTER TABLE table1 ADD INDEX (name);
Specifikování indexu
Jaký konkrétní index se použije rozhoduje sám SQL server, pokud však chceme určit index my, tak to lze takto:
SELECT * FROM table1
USE INDEX (name)
WHERE (name LIKE '%john%');