Sobes.tech
Junior — Middle

Môžete vysvetliť, čo je hash index a akú úlohu zohráva pri optimalizácii vyhľadávania údajov?

sobes.tech AI

Odpoveď od AI

Hash index je dátová štruktúra používaná na rýchle vyhľadávanie záznamov v databáze podľa kľúča. Je založená na hashovacej funkcii, ktorá premieňa hodnotu kľúča na index (hash), cez ktorý je možné rýchlo nájsť potrebný záznam.

Úloha hash indexu pri optimalizácii vyhľadávania:

  • Umožňuje vykonávať operácie vyhľadávania, vkladania a odstraňovania v priemernom konštantnom čase (O(1)), čo je oveľa rýchlejšie ako sekvenčné prehľadávanie.
  • Je obzvlášť efektívny pre presné vyhľadávanie podľa kľúča, ale nie je vhodný pre dotazy v rozsahu (napríklad, vyhľadávanie všetkých hodnôt v intervale).

Príklad: ak máte tabuľku používateľov s unikátnym identifikátorom, hash index na tento identifikátor vám umožní rýchlo nájsť používateľa bez prehľadávania všetkých záznamov.

V Go možno jednoduchú implementáciu hash indexu predstaviť pomocou zabudovanej mapy:

// Príklad jednoduchého hash indexu
pouzivatelia := make(map[int]string) // kľúč - ID používateľa, hodnota - meno

// Pridanie
pouzivatelia[101] = "Ivan"

// Vyhľadávanie
meno, existuje := pouzivatelia[101]
if existuje {
    fmt.Println("Nájdený používateľ:", meno)
}