Junior — Middle
É possível criar um índice único baseado numa função hash?
sobes.tech IA
Resposta da IA
Sim, é possível criar um índice único baseado numa função de hash, mas com algumas ressalvas. A função de hash converte os dados numa extensão fixa, e teoricamente diferentes entradas podem ter o mesmo hash (colisões).
Nos bancos de dados, por vezes, criam-se índices por hash para acelerar a pesquisa, mas não se pode garantir a unicidade apenas pelo hash sem uma verificação adicional.
Se precisar de uma restrição de unicidade, é melhor usar os dados originais ou combinar o hash com verificações adicionais.
Exemplo em Go para criar um hash e usá-lo num índice:
import (
"crypto/sha256"
"fmt"
)
func hashKey(key string) string {
h := sha256.Sum256([]byte(key))
return fmt.Sprintf("%x", h)
}
// Use hashKey para criar o índice, mas verifique colisões ao inserir.