Sobes.tech
Junior — Middle

Kako implementirati i primeniti hash indeks u PostgreSQL bazi podataka za ubrzanje pretraživanja podataka?

sobes.tech АИ

Одговор од АИ

U PostgreSQL-u, za ubrzanje pretraživanja podataka, možete kreirati hash indeks koji je optimalan za operacije jednakosti (=). Za kreiranje hash indeksa koristite naredbu:

CREATE INDEX naziv_indeksa ON naziv_tabele USING HASH (naziv_kolone);

Primer:

CREATE INDEX idx_korisnici_email_hash ON korisnici USING HASH (email);

Međutim, treba imati u vidu:

  • Hash indeksi u PostgreSQL-u podržavaju samo operacije jednakosti.
  • U nekim verzijama PostgreSQL-a, hash indeksi nisu bili otporni na padove, ali je to ispravljeno u novijim verzijama.
  • Često su za pretraživanje po jednakosti pogodniji B-stablo indeksi, jer su svestraniji.

U Go (Golang) možete koristiti drajvere poput "database/sql" sa "lib/pq" za rad sa PostgreSQL-om. Za kreiranje indeksa, izvršite SQL upit putem konekcije ka bazi:

_, err := db.Exec(`CREATE INDEX idx_korisnici_email_hash ON korisnici USING HASH (email);`)
if err != nil {
    log.Fatal(err)
}

Na taj način, hash indeks se kreira na strani baze podataka, a u Go jednostavno izvršavate odgovarajući SQL upit.