07.10.2014, Vladimír Klaus, navštíveno 4174x

MS Access
SQL

Pomocí indexů se urychluje hledání/řazení tabulky dle daného pole. Také mohou pomoci při spojení tabulek právě přes takové pole. Je třeba si uvědomit, že zabírají nějaké místo a také že zabere jistý čas jejich údržba – když přidáváte, odstraňujete nebo upravujete záznamy. Prakticky se ale nějaké zpomalení může projevit až při velkém množství záznamů (statisíce nebo spíše miliony).

Takto si vytvoříme nový index podle sloupce Mesto.

CREATE INDEX IdxMesto ON Zakaznici (Mesto)

Pokud se poté podíváte na tabulku v návrhovém zobrazení a zobrazíte si indexy, může to vypadat právě takto.

Příkaz CREATE INDEX 1

Index je ale možné vytvořit i složitější, přes více sloupců nebo s volbou směru řazení. Takto vytvoříme index přes dva sloupce a ještě v sestupném pořadí.

CREATE INDEX IdxMestoUliceSestupny ON Zakaznici (Mesto DESC, Ulice DESC)

Příkaz CREATE INDEX 2

Pokud si říkáte, k čemu je takto vytvořený index dobrý, pak si představte třeba takovýto dotaz:

SELECT * FROM Zakaznici ORDER BY Mesto DESC, Ulice DESC

Jeho vykonání při existenci indexu (IdxMestoUliceSestupny) bude mnohem rychlejší. Ale jak už bylo uvedeno na začátku – ušetřený čas se projeví až při opravdu velkém množství dat.