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)
}