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 ANALYZEpara 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.