Sobes.tech
Junior — Middle

Em que casos é apropriado usar um índice baseado em hash numa base de dados PostgreSQL?

sobes.tech IA

Resposta da IA

No PostgreSQL, é adequado usar um índice baseado em hash quando precisa de realizar operações de igualdade (=) muito rapidamente numa coluna específica. Estes índices são eficientes para procurar coincidências exatas, por exemplo, ao procurar por um identificador único ou chave.

No entanto, deve-se ter em conta:

  • Os índices de hash não suportam operações de pesquisa por intervalo (<, >, BETWEEN).
  • Em versões mais recentes do PostgreSQL (a partir da 10), os índices de hash tornaram-se mais confiáveis e suportam WAL (registo de transações).
  • Para a maioria dos casos, é melhor usar um índice B-tree, pois é mais versátil.

Exemplo de uso de um índice de hash:

CREATE INDEX idx_hash_userid ON users USING hash(user_id);

É ideal se frequentemente executa consultas como:

SELECT * FROM users WHERE user_id = 12345;

Se precisar de consultas por intervalo ou ordenação, é melhor usar um índice B-tree.