Junior — Middle
Можете ли објаснити шта је хеш-индекс и какву улогу игра у оптимизацији претраге података?
sobes.tech АИ
Одговор од АИ
Hash indeks je struktura podataka koja se koristi za brzo pronalaženje zapisa u bazi podataka po ključu. Osnovan je na hash funkciji koja pretvara vrednost ključa u indeks (hash), putem kojeg se može brzo pronaći potrebni zapis.
Uloga hash indeksa u optimizaciji pretraživanja:
- Omogućava izvršavanje operacija pretraživanja, umetanja i brisanja u prosečnom konstantnom vremenu (O(1)), što je znatno brže od sekvencijalnog pretraživanja.
- Posebno je efikasan za tačno pretraživanje po ključu, ali nije pogodan za upite u opsegu (npr. pretraživanje svih vrednosti u intervalu).
Primer: ako imate tabelu korisnika sa jedinstvenim identifikatorom, hash indeks po tom identifikatoru će omogućiti brzo pronalaženje korisnika bez pretraživanja svih zapisa.
U Go-u, može se predstaviti jednostavna implementacija hash indeksa pomoću ugrađene mape:
// Primer jednostavnog hash indeksa
korisnici := make(map[int]string) // ključ - ID korisnika, vrednost - ime
// Dodavanje
korisnici[101] = "Ivan"
// Pretraživanje
ime, postoji := korisnici[101]
if postoji {
fmt.Println("Pronađen korisnik:", ime)
}