Sobes.tech
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:

  1. Análise do plano de execução — usar EXPLAIN ou ferramentas semelhantes para entender quais operações demoram mais tempo.
  2. Adicionar ou otimizar índices — garantir que as colunas envolvidas em filtros e joins tenham índices adequados.
  3. Reescrever a consulta — simplificar joins complexos, eliminar subconsultas redundantes, usar construções mais eficientes.
  4. Limitar a seleção — usar WHERE e LIMIT para reduzir o volume de dados.
  5. Cachear resultados — se os dados não mudam frequentemente, cachear os resultados da consulta.
  6. 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.