Junior — Middle
Que passos tomarias para otimizar uma consulta SQL que demora a executar-se?
sobes.tech IA
Resposta da IA
Para otimizar a execução prolongada de uma consulta SQL, pode seguir os seguintes passos:
- Análise do plano de execução — usar EXPLAIN ou ferramentas semelhantes para entender quais operações demoram mais tempo.
- Adicionar ou otimizar índices — garantir que as colunas envolvidas em filtros e joins tenham índices adequados.
- Reescrever a consulta — simplificar joins complexos, eliminar subconsultas redundantes, usar construções mais eficientes.
- Limitar a seleção — usar WHERE e LIMIT para reduzir o volume de dados.
- Cachear resultados — se os dados não mudam frequentemente, cachear os resultados da consulta.
- Otimizar a estrutura da base de dados — normalização ou desnormalização de tabelas conforme a situação.
Exemplo de uso do EXPLAIN no MySQL:
EXPLAIN SELECT * FROM orders WHERE customer_id = 123;
Isto ajudará a entender se um índice está a ser usado em customer_id e quantas linhas estão a ser escaneadas.