Trilha Júnior Trilha

IA: plano e otimização SQL

Este curso lê planos de execução do PostgreSQL capturados no banco de desenvolvimento de um app Rails. Ele mostra a diferença entre EXPLAIN e EXPLAIN ANALYZE e como comparar estimativas de custo com tempos e linhas medidos. Em seguida vêm três consultas do app: um seq scan com ordenação, um bitmap index scan que ainda ordena e uma CTE que alimenta uma window function. Uma estimativa de linhas errada é ligada à falta de estatísticas e corrigida com ANALYZE. As últimas aulas tratam de pedir a uma IA que leia um plano e de conferir a correção sugerida.

O que você vai aprender

  • ✓A diferença entre EXPLAIN e EXPLAIN ANALYZE, e por que o ANALYZE numa escrita a executa
  • ✓Ler nós de plano como Seq Scan, Bitmap Heap Scan, Sort, HashAggregate e WindowAgg
  • ✓Por que um índice usado ainda pode deixar uma etapa Sort separada
  • ✓Como a falta de estatísticas gera estimativas de linhas erradas, e como o ANALYZE as corrige
  • ✓Pedir a uma ferramenta de IA que leia um plano completo e conferir a resposta contra o plano e o schema
Prévia grátis · Aula 1 3 min de leitura

O que EXPLAIN e EXPLAIN ANALYZE mostram

"Querying: detecção N+1" ensinou a ler o log/development.log deste app atrás de uma rajada de consultas repetidas. Era um rótulo que aparece dezenas de vezes, igual exceto por um id que varia. Isso é um padrão entre várias consultas. Este curso começa um nível abaixo, no que o plano de execução de…

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...