Sobes.tech
Junior — Middle

Pode explicar o que é um índice hash e qual o papel que desempenha na otimização da pesquisa de dados?

sobes.tech IA

Resposta da IA

O índice de hash é uma estrutura de dados usada para procurar rapidamente registros numa base de dados por chave. Baseia-se numa função de hash que transforma o valor da chave num índice (hash), através do qual se pode encontrar rapidamente o registo necessário.

Papel do índice de hash na otimização da pesquisa:

  • Permite realizar operações de pesquisa, inserção e remoção em tempo constante em média (O(1)), o que é muito mais rápido do que uma pesquisa sequencial.
  • É especialmente eficiente para buscas exatas por chave, mas não é adequado para consultas por intervalo (por exemplo, procurar todos os valores numa faixa).

Exemplo: se tiver uma tabela de utilizadores com um identificador único, um índice de hash neste identificador permitirá encontrar rapidamente o utilizador sem percorrer todos os registos.

Em Go, pode-se representar uma implementação simples de um índice de hash usando um mapa incorporado:

// Exemplo de um índice de hash simples
utilizadores := make(map[int]string) // chave - ID do utilizador, valor - nome

// Adicionar
utilizadores[101] = "Ivan"

// Procurar
nome, existe := utilizadores[101]
if existe {
    fmt.Println("Utilizador encontrado:", nome)
}