devterview_$ iniciar simulação

Cenário: uma query que ficou lenta em produção

DifícilSêniorPerformance

Pergunta

Uma query que rodava em 50ms passou a levar 8 segundos depois que a tabela cresceu para 10 milhões de linhas. Como você investiga e o que provavelmente está acontecendo?

Resposta esperada

Primeiro passo: rodar EXPLAIN ANALYZE para ver o plano de execução real. O suspeito número um é um sequential scan onde deveria haver um index scan — seja porque falta índice, porque o índice não é usado (função aplicada na coluna, tipo incompatível) ou porque as estatísticas da tabela estão desatualizadas (ANALYZE não rodou). Também vale checar se o crescimento da tabela tornou um JOIN N×M mais caro do que parecia em ambiente de teste com poucos dados.

Por que perguntam isso

O que diferencia uma resposta sênior aqui é começar pela investigação (EXPLAIN ANALYZE), não pela solução ('eu adicionaria um índice'). Quem pula direto pra solução sem diagnosticar é um sinal de alerta.

#performance#debugging#explain-analyze
publicidade

Perguntas de acompanhamento

Relacionadas