Sobes.tech
Middle

Como otimizou o PostgreSQL? O que fazer com uma consulta SELECT lenta?

sobes.tech IA

Resposta da IA

A otimização do PostgreSQL começa com a análise de uma consulta SELECT lenta:

  • Utilizar EXPLAIN ANALYZE para compreender o plano de execução e identificar gargalos.
  • Verificar a existência e correção dos índices nos campos utilizados em filtros e junções.
  • Evitar SELECT *, selecionar apenas as colunas necessárias.
  • Reescrever a consulta se for demasiado complexa, dividi-la em várias ou usar CTE.
  • Verificar as estatísticas das tabelas e, se necessário, executar ANALYZE.
  • Considerar a possibilidade de cachear resultados ou usar vistas materializadas.

Exemplo:

EXPLAIN ANALYZE SELECT id, name FROM users WHERE email = 'example@example.com';

Se a consulta estiver lenta, talvez não exista um índice em email. Nesse caso, deve-se criar um:

CREATE INDEX idx_users_email ON users(email);

Depois disso, a consulta deve executar-se muito mais rapidamente.