Tuning de SQL Melhore a performance de suas aplicações Oracle
Eduardo GonçalvesConteúdo
As instruções SQL são o principal ponto de análise quando falamos sobre performance de programas, pois a maneira como as informações são acessadas e processadas em um banco de dados pode ser a maior causa de demora na execução. Entender quando e como buscar por performance e, dessa maneira, atingir um desempenho adequado é o objetivo do Tuning de SQL.
Neste livro, Eduardo Gonçalves demonstrará diversas técnicas para escrever instruções SQL de forma apropriada para que o otimizador do banco de dados possa escolher um plano de execução eficaz para executá-las. Por meio de técnicas, como a criação de índices, uso de sugestões (hints), ajustes de sintaxe e métodos de acesso a tabelas, além de ferramentas de auxílio de Tuning SQL, você será capaz de analisar aplicações problemáticas, gerar estatísticas para o otimizador e obter informações das instruções executadas no banco de dados Oracle. Com isso, será possível criar uma cultura de pensar em desempenho desde a análise de uma aplicação, até sua concepção e implantação.
Sumário
- 1 Antes da técnica
- 1.1 Tuning de SQL
- 1.2 Monitoramento da performance
- 1.3 Opte pela prevenção, não pela manutenção
- 1.4 Modelagem é a base de tudo
- 1.5 Desenvolvedores versus DBA: Trabalho em conjunto
- 1.6 Por onde começar?
- 2 Ajuste da SQL
- 2.1 Otimizador de consultas
- 2.2 O otimizador do Oracle
- 2.3 O Modo baseado em Custos (CBO)
- 2.4 O Modo baseado em Regras (RBO)
- 2.5 SQL x PL/SQL: Como melhorar um cenário?
- 3 Processando instruções SQL
- 3.1 Passos para a execução de instruções SQL
- 3.2 Shared SQL Areas
- 4 Utilização de índices
- 4.1 Tipos de índices
- 5 Métodos de junção de tabelas
- 5.1 Executando operações de junção no modo CBO
- 5.2 Escolhendo métodos de junção no modo CBO
- 5.3 Escolhendo planos de execução para tipos de junção no modo CBO
- 5.4 NESTED LOOPS join
- 5.5 SORT MERGE join
- 5.6 HASH join
- 5.7 CARTESIAN join
- 5.8 Comparação entre os métodos NESTED LOOPS, SORT MERGE e HASH
- 5.9 Tipos de junção
- 6 Métodos de acesso
- 6.1 Como o armazenamento e a leitura dos registros acontecem?
- 6.2 FULL TABLE SCANS
- 6.3 ROWID SCANS
- 6.4 INDEX SCANS
- 6.5 BITMAP SCANS
- 6.6 CLUSTER SCANS
- 6.7 HASH SCANS
- 6.8 SAMPLE TABLE SCANS
- 6.9 Escolhendo os métodos de acesso no modo RBO
- 6.10 Escolhendo os métodos de acesso no modo CBO
- 7 Tabela Controle (Driving Tables)
- 7.1 Ordenando tabelas e filtros
- 7.2 Forçando a Driving Table por hint
- 7.3 Driving Tables e os métodos de junção
- 7.4 Driving Tables e os Planos Cartesianos (CARTESIAN join)
- 8 Otimizando através de hints
- 8.1 hint CHOOSE
- 8.2 hint RULE
- 8.3 hint ALL_ROWS
- 8.4 hint INDEX
- 8.5 hint ORDERED
- 8.6 hint PARALLEL
- 8.7 hint FIRST_ROWS
- 8.8 hint FULL
- 8.9 hint LEADING
- 8.10 hint CACHE
- 8.11 hint USE_NL
- 8.12 hint USE_HASH
- 8.13 hint USE_MERGE
- 8.14 Considerações sobre o uso de hints
- 9 Planos de Execução (Explain Plan)
- 9.1 Interpretando Planos de Execução
- 10 Gerando estatísticas para o otimizador
- 10.1 O pacote dbms_stats
- 10.2 Quando eu devo gerar estatísticas?
- 10.3 Geração automática de estatísticas
- 11 Histogramas
- 11.1 Gerando histogramas
- 11.2 Quando e como utilizar ou não histogramas?
- 12 Gerando e visualizando planos de execução
- 12.1 SQL*Plus
- 12.2 explain plan
- 12.3 v$sql_plan
- 12.4 autotrace
- 12.5 dbms_xplan
- 12.6 Rastreie e visualize com trace e tkprof
- 13 Conclusão
- 14 Referências bibliográficas
Autor
Eduardo Gonçalves
Formado em Tecnologia da Informação, possui mais de 15 anos de experiência em análise e desenvolvimento de sistemas voltados para tecnologias Oracle. Trabalhou para grandes empresas como Lojas Renner, Mundial S.A, Tigre S.A, Pernambucanas, Engie, Portobello Cerâmica, Bematech, Positivo, Ailos entre outras. É instrutor de cursos nas linguagens Oracle SQL e Oracle PL/SQL. Atualmente, desenvolve projetos na Supero Tecnologia.
Dados do produto
- Número de páginas:
- 523
- ISBN:
- 978-65-86110-94-4
- Data publicação:
- 12/2021