Visão Geral
O Curso Explain Plan for PostgreSQL foi desenvolvido para profissionais de banco de dados, desenvolvedores e analistas que desejam entender em profundidade como o PostgreSQL executa consultas e como interpretar os planos de execução. Através do comando EXPLAIN e suas variações, os participantes aprenderão a analisar e otimizar queries, identificando gargalos de desempenho e explorando as melhores práticas de tunning.
Este curso combina teoria e prática, permitindo que os alunos utilizem laboratórios individuais para compreender casos reais de execução de consultas em diferentes cenários.
Objetivo
Após realizar este Curso Explain Plan for PostgreSQL, você será capaz de:
- Entender o funcionamento interno do otimizador de consultas do PostgreSQL.
- Utilizar o comando EXPLAIN e EXPLAIN ANALYZE de forma eficaz.
- Interpretar planos de execução e identificar gargalos de desempenho.
- Aplicar técnicas de otimização de queries em cenários reais.
- Analisar estatísticas e compreender o papel dos índices no desempenho das consultas.
Publico Alvo
- Administradores de Banco de Dados (DBAs).
- Desenvolvedores que trabalham com PostgreSQL.
- Analistas de Dados que precisam otimizar consultas.
- Arquitetos de Dados que projetam soluções de alto desempenho.
Pre-Requisitos
- Conhecimento básico de SQL.
- Noções de administração de bancos de dados PostgreSQL.
- Familiaridade com conceitos de índices e chaves primárias.
Materiais
Português/Inglês + Exercícios + Lab Pratico
Conteúdo Programatico
Módulo 1: Introdução ao EXPLAIN no PostgreSQL
- Conceito de plano de execução.
- O papel do otimizador de consultas.
- Introdução ao comando EXPLAIN.
- Diferença entre EXPLAIN e EXPLAIN ANALYZE.
Módulo 2: Estrutura do Plano de Execução
- Nós de execução (Nodes) no plano.
- Tipos de varredura (Seq Scan, Index Scan, Bitmap Heap Scan, etc.).
- Tipos de joins (Nested Loop, Hash Join, Merge Join).
- Entendendo o custo estimado e o tempo real.
Módulo 3: Estatísticas e Planejamento
- Como o PostgreSQL coleta e utiliza estatísticas.
- O impacto de ANALYZE e VACUUM.
- Configuração do parâmetro
default_statistics_target
.
- Casos de cardinalidade incorreta e seus impactos no plano.
Módulo 4: Interpretação de Planos na Prática
- Leitura detalhada de planos de execução.
- Analisando consultas simples e complexas.
- Comparando custo estimado vs. tempo de execução.
- Identificação de gargalos (bottlenecks).
Módulo 5: Técnicas de Otimização
- Uso de índices (B-Tree, Hash, GIN, GiST).
- Reescrita de consultas para melhor desempenho.
- Evitando armadilhas comuns em joins e subconsultas.
- Particionamento de tabelas e paralelismo no PostgreSQL.
Módulo 6: Ferramentas e Casos Reais
- Utilização de auto_explain.
- Ferramentas visuais para análise de planos (pgAdmin, Explain.depesz.com, PEV2).
- Estudos de caso com queries reais em bases de dados grandes.
Módulo 7: Laboratórios Práticos
- Exercícios com EXPLAIN e EXPLAIN ANALYZE.
- Interpretação de diferentes tipos de planos.
- Otimização de consultas lentas em ambiente controlado.
TENHO INTERESSE