Hashovaci tabulka je speciální druh tabulky – datové struktury, který je určený k rychlému vyhledávání dat. Princip hashovaci tabulky spočívá v tom, že se ze vstupních dat vypočítá hash, který je zároveň indexem tabulky. Vyhledávání v takové tabulce je velmi rychlé, a to i v případě, že je tabulka velmi velká.Abyste pochopili význam hashovaci tabulky, je potřeba si uvědomit, jak funguje klasické vyhledávání v tabulce, například v MySQL tabulce.
Vyhledávání probíhá tak, že se prochází řádek po řádku a hodnoty v jednotlivých řádcích se testují na shodu hodnot s hledaným hodnotami.
Jako příklad si ukážeme hledání v anglickém slovníku, který má třeba milion záznamů. Zde budeme hledat slovo vikýř.
SELECT US_PREKLAD FROM SLOVNIK WHERE CZ_TEXT=“vikýř“
Takto zadaný SQL dotaz bude muset projít takřka milion záznamů, než se dostane k výsledku. A to chvíli bude trvat, protože nehledáte v indexu. V případě hash tabulky se bude vyhledávat ve sloupci ID, na kterém je nastaven index, následovně.
SELECT US_PREKLAD FROM SLOVNIK WHERE ID=“45FD4D5″
Příkaz bude procházet indexovaný sloupec, z kterém dokáže vyhledávat velmi rychle.
Uvedený příklad je velmi zjednodušený a ne zcela vhodný, je na něm však vidět, smysl hashovacích tabulek.