Junior — Middle
Můžete vysvětlit, co je to hash index a jakou roli hraje při optimalizaci vyhledávání dat?
sobes.tech AI
Odpověď od AI
Hash index je datová struktura používaná k rychlému vyhledávání záznamů v databázi podle klíče. Je založen na hashovací funkci, která převádí hodnotu klíče na index (hash), přes který lze rychle najít potřebný záznam.
Role hash indexu při optimalizaci vyhledávání:
- Umožňuje provádět operace vyhledávání, vkládání a mazání v průměrném konstantním čase (O(1)), což je mnohem rychlejší než sekvenční prohledávání.
- Je obzvlášť efektivní pro přesné vyhledávání podle klíče, ale není vhodný pro dotazy v rozsahu (například hledání všech hodnot v intervalu).
Příklad: pokud máte tabulku uživatelů s unikátním identifikátorem, hash index na tento identifikátor umožní rychle najít uživatele bez prohledávání všech záznamů.
V Go lze jednoduchou implementaci hash indexu představit pomocí vestavěné mapy:
// Příklad jednoduchého hash indexu
uživatelé := make(map[int]string) // klíč - ID uživatele, hodnota - jméno
// Přidání
uživatelé[101] = "Ivan"
// Vyhledávání
jméno, existuje := uživatelé[101]
if existuje {
fmt.Println("Nalezen uživatel:", jméno)
}