Sobes.tech
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)
}