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