Junior — Middle
Se poate crea un index unic pe baza unei funcții hash?
sobes.tech AI
Răspuns de la AI
Da, este posibil să creați un index unic bazat pe o funcție hash, dar cu anumite precauții. Funcția hash convertește datele într-o lungime fixă, și teoretic, datele de intrare diferite pot avea același hash (coliziuni).
În bazele de date, uneori se creează un index pe bază de hash pentru a accelera căutările, dar nu se poate garanta unicitatea doar pe baza hash-ului fără verificări suplimentare.
Dacă este nevoie de o restricție de unicitate, este mai bine să folosiți datele originale sau să combinați hash-ul cu verificări suplimentare.
Exemplu în Go pentru crearea unui hash și utilizarea lui într-un index:
import (
"crypto/sha256"
"fmt"
)
func hashKey(key string) string {
h := sha256.Sum256([]byte(key))
return fmt.Sprintf("%x", h)
}
// Folosiți hashKey pentru a crea indexul, dar verificați coliziunile la inserare.