O documento explica como usar a ferramenta EXPLAIN no PostgreSQL para analisar e otimizar queries lentas. Ele descreve o que é um plano de execução de query, os diferentes tipos de nós de plano e sua nomenclatura, e como usar os comandos EXPLAIN e EXPLAIN ANALYZE para inspecionar e melhorar o desempenho de queries.
2. Estou com uma query lenta... e
agora o que eu faço?
● Chamo alguém mais esperto que eu?
3. Estou com uma query lenta... e
agora o que eu faço?
● Chamo alguém mais esperto que eu?
● Amarro uma gilete na ponta de uma corda
e começo com a auto-flagelação (m...-
feelings) ??
4. Estou com uma query lenta... e
agora o que eu faço?
● Chamo alguém mais esperto que eu?
● Amarro uma gilete na ponta de uma corda e
começo com a auto-flagelação (m...-
feelings) ??
● Paro, respiro fundo e penso?
5. Então eu decidi pensar... :-)
E quem optou por outro caminho...
desculpe, vai ter que pensar mesmo assim...
6. Coisas relevantes sobre uma query
lenta
● Vc usa * no SELECT, e na App poucas colunas são
usadas ??
● Junto tabelas gigantes com tabelas grotescas sem
seleção ??
● Tem algum índice associado (aliás eu sei o que é um
índice) ??
● Uso funções e/ou expressões no WHERE ?? (saiba que
existe um lugar especialmente reservado para você “In
the Hell”)
7. Ainda não sei o que fazer...
Então vamos EXPLicar melhor...
;-)
8. No PostgreSQL existe um tal de
EXPLAIN, que EXPLica como um
SQL é planejado para ser
posteriormente ser executado, ou
seja, ele mostra o “Query Plan”
9. A estrutura de um “Query Plan” é
nada mais que uma árvore
composta de “Plan Nodes”