Co je to hashovaci tabulka?

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.

 

Na vaše otázky odpovíme. Nebojte se zeptat.