Bom dia,
Em qual situação é melhor usar o índice HASH ? Em qual situação é melhor usar o índice BTREE? Como posso usar o postgresql para medir uma query sem índice e outra com índice?
Bom dia,
Em qual situação é melhor usar o índice HASH ? Em qual situação é melhor usar o índice BTREE? Como posso usar o postgresql para medir uma query sem índice e outra com índice?
O HASH é tipo um atalho direto, bom quando queremos encontrar algo exato, tipo “me dá o cliente com esse e-mail aqui”. Ele faz isso rapidinho, mas só serve pra esse tipo de busca mas não dá pra usar com ordenação, busca por intervalo ou LIKE. Já o BTREE é mais completo, meio que o coringa da parada. Funciona bem tanto pra igualdade quanto pra coisas como “me mostra os clientes com ID maior que 100”, ou “ordena essa lista por nome”. Se não tiver certeza do tipo de consulta, vai de BTREE que é mais garantido. E se quiser ver a diferença na prática, é só rodar a mesma consulta com "EXPLAIN ANALYZE" primeiro sem índice, ai depois com HASH e depois com BTREE. Assim dá pra comparar o tempo que cada um leva e escolher o que faz mais sentido pro seu caso.
Obrigada.