Indexy
Indexové soubory slouží k seřazení tabulky podle jiných atributů než je samotná tabulka defaultně seřazená. Index je tedy vázaný ke konkrétní tabulce a konkrétnímu atributu podle kterého data řadí.
Příklad použití indexů
V tabulce Student potřebujeme často vyhledávat podle loginu, jména a ročníku. Tabulka je automaticky indexová podle loginu, takže to nemusíme řešit.
Budeme řešit tedy indexy z hlediska jména a ročníku. Jména jsou vesměs originální proto použijeme klasický index, který setřídí jména podle abecedy.
CREATE INDEX login ON Student;

Na indexaci ročníku je zbytečné použít klasický index, ročníku je pár a nepotřebuje je řadit od prvního do posledního. Zato studentů v jednom ročníku je hafo. Proto použiju bitmapový index.
CREATE BITMAP INDEX BIRocnik ON Student(rocnik);
Rozlišujeme dva typy indexů:
- Klasický index - si můžeme představit jako tabulku s dvěma sloupci, v prvním je seřazený indexovaný atribut a v druhém je ukazatel na záznam. Ve skutečnosti je realizován nějakou efektivní datovou strukturou (B-stromy) aby se minimalizoval čas při aktualizaci indexu. Tu je třeba provést při vkládání a mazání záznamu v tabulce. V případě že visí na tabulce více indexů je třeba zaktualizovat všechny.
- Bitmapový index - odpovídá na všechny možné hodnoty daného atributu. Jde o tabulku jedniček a nul, kde řádky reprezentují záznamy v indexocané tabulce a sloupce hodnoty indexovaného atributu. Jednička pak znamená true, že záznam má hodnotu danou sloupcem.
Primární index (PRIMARY) automatický index který se váže k primárnímu klíči. Zajišťuje jedinečnost údajů.
Unikátní index (UNIQUE) stejně jako primární index zajišťuje jedinečnost údajů v atributu. Ale neváže se pouze ke klíči.
Vedlejší index (INDEX) klasický index popsány výše.
Fultextový index se používá pro optimalizaci fultextového vyhledávání v daném sloupci.