Inicial > Treinamento, Virtual PASS BR > Partes II, III, IV e V dos on-demand de ExecPlans

Partes II, III, IV e V dos on-demand de ExecPlans

Galera, depois da boa aceitação do publico para com os treinamentos on-demand estamos publicando novas turmas.

O Luti vai falar sobre indexação: on-demand] Indexação I – Conceitos, criação e estrutura física

O Ivan vai falar sobre T-SQL: [on-demand] Transact SQL I – Introdução e consultas básicas

Eu volto a falar sobre Execution Plans: [on-demand] Planos de execução II – Estatísticas, Seeks e Scans

Novamente estamos fazendo promoção de lançamento, quem comprar até o final do ano, paga R$100,00 reais por cada treinamento.

Aproveitando o embalo, já publiquei o conteúdo dos módulos III, IV e V do treinamento de execution plans, galera tem MUITA coisa boa, e o módulo IV ficou #sinistro Hot smile.

Ainda não temos previsão de quando eles serão lançados, mas pretendemos publicar essa informação em breve.

Se você achou interessante e quer fazer uma imersão em sua empresa, converse conosco, quem sabe não passamos alguns dias in-company e sua empresa paga tudo? Melhor impossível não? Qualquer dúvida manda um e-mail pra contato@srnimbus.com.br

Considerando todas os módulos temos as seguintes ementas:

ExecPlans parte I:

Query optimizer: como funciona e como analisar um plano de execução

Otimizando consultas analisando operadores

·         Key Lookup e RID Lookup

o   O que é?

o   Como melhorar consultas com Key Lookup utilizando clausula Include

o   Diferença entre Key Lookup e Rid Lookup

o   Cuidados com “missing indexes” (dicas do SQL Server)

o   Até quando vale a pena fazer um lookup?

o   O que é prefetch? Devo me preocupar com ele?

o   Nested Loops Optimized, o que é isso?

 

·         Melhorando consultas com o operador Sort

o   Otimizando consultas com operadores de SORT

o   Ordenação na aplicação ou no banco de dados?

o   Monitorando Sort Warnings

o   Entendendo memory grant

o   xEvent – sort_memory_grant_adjustment

o   In-Memory sort versus regular-sort

§  Single pass spill e Multiple Pass spill

o   Analisando opções para evitar sort_warnings

 

·         Melhorando consultas com operador Merge Join

o   Entendendo o algoritmo de Merge Join

o   Evitando Sort Merge Join

o   Otimizando Merge Joins em disco

o   Cenários propensos a otimização do Merge Join

ExecPlans parte II:

Query optimizer: Estatísticas

·         Introdução a estatísticas

o   Entendendo como estatísticas funcionam e sua importância

o   Lendo um histograma

·         Estatísticas avançado parte I

o   Manutenção em estatísticas

o   Auto Update, Auto Created, Auto update async e norecompute

o   Estatísticas filtradas

o   Estatísticas cross-table

o  Variáveis do tipo table versus tabelas temporárias

 

·         Operadores

o   Index scan e table scan

§  Allocation order scan

·         Nolock – Uma bomba relógio

·         Inconsistências, leitura repetida e pulando linhas

§  Index order scan

·         Inconsistências, leitura repetida e pulando linhas

·         Advanced scan (merry-go-round scanning)

·         Scan direction e paralelismo

o   Index Seek

§  Seek predicate

§  Predicate

§  Range scan

§  Quando um seek é na verdade um Scan

§  Seek é sempre melhor que scan?

§  Hints – “Ajudando” otimizador de consultas com ForceSeek

ExecPlans parte III:

Estatísticas avançado parte II

·         Estatísticas correlatas e densidade

·         Atualizando estatísticas com valores falsos

·         TraceFlags – 2388, 2389, 2390, 2371 (SQL2008SP1), 9292, 9204 e 8666.

·         Identificando colunas ascendentes

·         Date correlation optimization

·         Estatísticas faltando

·         Gap nas estatísticas

·         Estatísticas em várias colunas

·         Regra diferenciada para ler um histograma

·         Tried trees para estimar strings

·         AutoCreated – Computed columns

·         Estatísticas em views

·         Estatísticas em functions

·         Impacto das estatísticas em operações de rebuild

Operadores

·         Spool

o   Table Spool – Lazzy e Eager

§  Halloween problem

§  Entendendo rebind e rewind

o   Index Spool

§  Regra diferenciada para rebind e rewind

o   Otimizando planos com operações de spool

o   RowCount Spool

o   Evitando spools em operações de insert com scalar functions

ExecPlans parte IV:

Detalhando o processo de otimização de uma consulta

·         Parse

·         Bind

·         Query tree

·         Constant folding

·         Expand view

·         Auto parameterization

·         Pre-otimization

o   NNF convert

o   Project remove

o   Simplify

§  Constraint

§  Remove redundant

§  Unnest

o   Join collapse

o   Derive cardinality

o   Heuristic join order

o   Project nomalization

·         Full otimization

o   Trivial plan

o   Search 0

o   Search 1

o   Search 2

·         Transformation stats (rules)

·         Entendendo conceitos importantes

o   Seletividade

o   Densidade

o   Cardinalidade

o   Magic Density/Guess

o   Foldable expressions

o   SARGs

o   Simplifications

§  Eliminando joins (FKs)

§  Detectando contradição (Check constraints)

§  Índices únicos (eliminando Asserts)

o   NonUpdating updates

·         Comandos avançados

o   DBCC OPTIMIZER_WHATIF

o   Rules (DBCC RULEON/OFF, QueryRuleOff)

o   Índices hipotéticos (DBCC AUTOPILOT, SET AUTOPILOT)

o   Discos SSDs VS peso do custo de IO/CPU (DBCC SETIOWEIGHT, SETCPUWEIGHT)

o xEvent – inaccurate_cardinality_estimate

Operadores

·         Loop join

·         Merge join (coberto no módulo I)

·         Hash joins

·         Hints – “ajudando” otimizador com force order

o   Criando bushy plans

·         Hints – “ajudando” otimizador forçando um algoritmo de join

ExecPlans parte V:

Aprendendo mais com analise de bugs e ”gaps na funcionalidade” do Otimizador de consultas

·         IS NOT NULL

·         Comando Merge

·         Expression in queries

·         Operador de Filter

·         Produto cartesiano

·         Stream Aggregate

·         Filter vs Aggregation

·         CTE e colunas duplicadas

Operadores

·         Merge interval

·         Assert

·         Compute Scalar

·         Concatenation

·         Split, Sort e Collapse

Quebrando mitos

•        COUNT(1) versus COUNT(*)

•        JOIN versus EXISTS

•        DISTINCT versus GROUP BY

•        SET versus SELECT

•        TOP 1 ORDER BY DESC versus MAX

•        UNION versus UNION ALL

•        NOT IN versus NOT EXISTS

•        CURSOR versus WHILE

•        Ordem das tabelas no JOIN

  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário