SlideShare uma empresa Scribd logo
1 de 12
Porque minha
query está lenta?
Iniciando um
trobleshooting
Quem sou
eu?
Atuando no mercado com SQL
Server há 10 anos.
MCITP, MCSA, MCT
Atualmente DBA Sql Server na MC1
Tecnologia.
• Contatos:
• Email: suellensm@yahoo.com.br
• Facebook: suellen.moraes.794
• Linkedin:
https://www.linkedin.com/in/suellen-
moraes-46562138/
E por onde
começar?
• Nos ajudará a identificar o waits da query
em execução, se houver, que a query está
passando.
Sp_whoisactive
• Utilização de recursos.
DMV’s
Extended Events
• Várias opções que nos ajudam: error and
warnings, locks (deadlocks), Performance
(paralelismo), scans, entre outras.
Sql Server Profiler
Identificando
o Gargalo
• Indexação
• Estatisticas
• Plano de execução ruim
• Modelagem
Varios Ifs pelo caminho
• Memória, CPU, Disco, etc.
Hardware
• SO
• A propria Aplicação.
• Etc.
Outros
Estatísticas
Informações computadas pelo SQL
Server sobre a distribuição dos dados
na(s) coluna(s) do índice.
Utilizada pelo QO para analisar a
seletividade e a cardinalidade dos
dados, afim de criar um plano de
execução que utilize a melhor “rota” e
os melhores operadores para cada
caso.
dbcc show_statistics
([person.AddressType],
AK_AddressType_Name)
Índices
Grande aliado para performance das
nossas queries.
Conhecer os tipos de índices existentes
e suas funcionalidades para que sua
utilização seja mais efetiva.
Tudo em excesso também faz mal,
portanto use com moderação!!
Cuidado com a fragmentação e
quantidade alta de pages splits.
Plano de
execução
Analise o custo dos operadores.
Operadores do tipo blocking.
• Aguarda o termino da leitura de todas
as linhas para que o próximo operador
possa executar.
• Sort, Eager Spool
Operadores do tipo NonBlocking
• Lê a informação, processa e retorna a
linha para o próximo operador do
plano.
• Nested Loop, lazy spool
Dicas
Qual o
embasamento
para a afirmação
de que a query
está lenta?
Crie um baseline! E o
utilize!
Analise qual o
tempo que esta
sendo gasto no
SQL em relação
ao processo como
um todo.
Os processos da
aplicação também
custam.
Esteja presente
no momento do
desenvolvimento.
Ajudando o dev no
início do
desenvolvimento reduz
bastante a
probabilidade de
termos problemas em
prod!
Conclusão
 Tenha um baseline SEMPRE!!
 Mantenha suas estatísticas sempre
atualizadas.
 Realize periodicamente a
manutenção dos seus índices.
 Entenda como ler um plano de
execução.
 O problema nem sempre é o SQL
Server.
 Seja amiguinho do desenvolvedor
(ele é seu parceiro e não seu inimigo)
DEMO!!!
Dúvidas?
Obrigada!

Mais conteúdo relacionado

Semelhante a Por que minha query esta lenta? - Suellen Moraes

5 coisas que todo desenvolvedor deveria saber sobre sql server
5 coisas que todo desenvolvedor deveria saber sobre sql server5 coisas que todo desenvolvedor deveria saber sobre sql server
5 coisas que todo desenvolvedor deveria saber sobre sql serverMarcos Freccia
 
AulaTuningProfCeliniaEquipe_Igor Paula Maisa
AulaTuningProfCeliniaEquipe_Igor Paula MaisaAulaTuningProfCeliniaEquipe_Igor Paula Maisa
AulaTuningProfCeliniaEquipe_Igor Paula MaisaMaísa Brenda
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?Fabio Janiszevski
 
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Renato Groff
 
Metodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoMetodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoAchiles Camilo
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Diego Pacheco
 
5 duvidas frequentes ao iniciar o método kanban
5 duvidas frequentes ao iniciar o método kanban 5 duvidas frequentes ao iniciar o método kanban
5 duvidas frequentes ao iniciar o método kanban Carlos Eduardo Polegato
 
ODI SERIES - Melhores Práticas
ODI SERIES - Melhores PráticasODI SERIES - Melhores Práticas
ODI SERIES - Melhores PráticasCaio Lima
 
Processo de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - PrototipaçãoProcesso de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - PrototipaçãoNatanael Simões
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Christiano Anderson
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
Processo de software individual
Processo de software individualProcesso de software individual
Processo de software individualAdivaldo_badinho
 
Top 9 mistakes to avoid when developing with NoSQL
Top 9 mistakes to avoid when developing with NoSQLTop 9 mistakes to avoid when developing with NoSQL
Top 9 mistakes to avoid when developing with NoSQLLeonardo De Moura Rocha Lima
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSFabrício Campos
 
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
2011 - GUOB Tech Day / OTN Tour LAD - Extended ClustersMarcus Vinicius Miguel Pedro
 

Semelhante a Por que minha query esta lenta? - Suellen Moraes (20)

5 coisas que todo desenvolvedor deveria saber sobre sql server
5 coisas que todo desenvolvedor deveria saber sobre sql server5 coisas que todo desenvolvedor deveria saber sobre sql server
5 coisas que todo desenvolvedor deveria saber sobre sql server
 
AulaTuningProfCeliniaEquipe_Igor Paula Maisa
AulaTuningProfCeliniaEquipe_Igor Paula MaisaAulaTuningProfCeliniaEquipe_Igor Paula Maisa
AulaTuningProfCeliniaEquipe_Igor Paula Maisa
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
 
Metodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoMetodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introdução
 
TechEd_OFC305
TechEd_OFC305TechEd_OFC305
TechEd_OFC305
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0
 
FLISOL 2017 - SQL Server no Linux
FLISOL 2017 - SQL Server no LinuxFLISOL 2017 - SQL Server no Linux
FLISOL 2017 - SQL Server no Linux
 
5 duvidas frequentes ao iniciar o método kanban
5 duvidas frequentes ao iniciar o método kanban 5 duvidas frequentes ao iniciar o método kanban
5 duvidas frequentes ao iniciar o método kanban
 
ODI SERIES - Melhores Práticas
ODI SERIES - Melhores PráticasODI SERIES - Melhores Práticas
ODI SERIES - Melhores Práticas
 
Durable functionsmvp conf2020
Durable functionsmvp conf2020Durable functionsmvp conf2020
Durable functionsmvp conf2020
 
Processo de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - PrototipaçãoProcesso de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - Prototipação
 
Xamarin UI Test + BDD Specflow
Xamarin UI Test + BDD SpecflowXamarin UI Test + BDD Specflow
Xamarin UI Test + BDD Specflow
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Processo de software individual
Processo de software individualProcesso de software individual
Processo de software individual
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
 
Top 9 mistakes to avoid when developing with NoSQL
Top 9 mistakes to avoid when developing with NoSQLTop 9 mistakes to avoid when developing with NoSQL
Top 9 mistakes to avoid when developing with NoSQL
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
2011 - GUOB Tech Day / OTN Tour LAD - Extended Clusters
 

Mais de iMasters

O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroO que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroiMasters
 
Postgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesPostgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesiMasters
 
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...iMasters
 
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesiMasters
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...iMasters
 
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsArquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsiMasters
 
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...iMasters
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudiMasters
 
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 Use MDD e faça as máquinas trabalharem para você - Andreza Leite Use MDD e faça as máquinas trabalharem para você - Andreza Leite
Use MDD e faça as máquinas trabalharem para você - Andreza LeiteiMasters
 
Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesiMasters
 
Backend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosBackend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosiMasters
 
Dicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeDicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeiMasters
 
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle MonteiroiMasters
 
Quem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio MaujorQuem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio MaujoriMasters
 
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaService Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaiMasters
 
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiErros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiiMasters
 
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...iMasters
 
Construindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina KarklisConstruindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina KarklisiMasters
 
Monitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe RegalgoMonitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe RegalgoiMasters
 
Clean Architecture - Elton Minetto
Clean Architecture - Elton MinettoClean Architecture - Elton Minetto
Clean Architecture - Elton MinettoiMasters
 

Mais de iMasters (20)

O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroO que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
 
Postgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesPostgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio Telles
 
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
 
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
 
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsArquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
 
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
 
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 Use MDD e faça as máquinas trabalharem para você - Andreza Leite Use MDD e faça as máquinas trabalharem para você - Andreza Leite
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 
Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita Bernardes
 
Backend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosBackend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana Arnos
 
Dicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeDicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato Groffe
 
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
 
Quem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio MaujorQuem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio Maujor
 
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaService Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
 
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiErros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
 
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
 
Construindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina KarklisConstruindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina Karklis
 
Monitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe RegalgoMonitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe Regalgo
 
Clean Architecture - Elton Minetto
Clean Architecture - Elton MinettoClean Architecture - Elton Minetto
Clean Architecture - Elton Minetto
 

Por que minha query esta lenta? - Suellen Moraes

  • 1. Porque minha query está lenta? Iniciando um trobleshooting
  • 2. Quem sou eu? Atuando no mercado com SQL Server há 10 anos. MCITP, MCSA, MCT Atualmente DBA Sql Server na MC1 Tecnologia. • Contatos: • Email: suellensm@yahoo.com.br • Facebook: suellen.moraes.794 • Linkedin: https://www.linkedin.com/in/suellen- moraes-46562138/
  • 3. E por onde começar? • Nos ajudará a identificar o waits da query em execução, se houver, que a query está passando. Sp_whoisactive • Utilização de recursos. DMV’s Extended Events • Várias opções que nos ajudam: error and warnings, locks (deadlocks), Performance (paralelismo), scans, entre outras. Sql Server Profiler
  • 4. Identificando o Gargalo • Indexação • Estatisticas • Plano de execução ruim • Modelagem Varios Ifs pelo caminho • Memória, CPU, Disco, etc. Hardware • SO • A propria Aplicação. • Etc. Outros
  • 5. Estatísticas Informações computadas pelo SQL Server sobre a distribuição dos dados na(s) coluna(s) do índice. Utilizada pelo QO para analisar a seletividade e a cardinalidade dos dados, afim de criar um plano de execução que utilize a melhor “rota” e os melhores operadores para cada caso. dbcc show_statistics ([person.AddressType], AK_AddressType_Name)
  • 6. Índices Grande aliado para performance das nossas queries. Conhecer os tipos de índices existentes e suas funcionalidades para que sua utilização seja mais efetiva. Tudo em excesso também faz mal, portanto use com moderação!! Cuidado com a fragmentação e quantidade alta de pages splits.
  • 7. Plano de execução Analise o custo dos operadores. Operadores do tipo blocking. • Aguarda o termino da leitura de todas as linhas para que o próximo operador possa executar. • Sort, Eager Spool Operadores do tipo NonBlocking • Lê a informação, processa e retorna a linha para o próximo operador do plano. • Nested Loop, lazy spool
  • 8. Dicas Qual o embasamento para a afirmação de que a query está lenta? Crie um baseline! E o utilize! Analise qual o tempo que esta sendo gasto no SQL em relação ao processo como um todo. Os processos da aplicação também custam. Esteja presente no momento do desenvolvimento. Ajudando o dev no início do desenvolvimento reduz bastante a probabilidade de termos problemas em prod!
  • 9. Conclusão  Tenha um baseline SEMPRE!!  Mantenha suas estatísticas sempre atualizadas.  Realize periodicamente a manutenção dos seus índices.  Entenda como ler um plano de execução.  O problema nem sempre é o SQL Server.  Seja amiguinho do desenvolvedor (ele é seu parceiro e não seu inimigo)

Notas do Editor

  1. Sp_whoisactive: http://sqlblog.com/tags/Who+is+Active/sp_5F00_whoisactive/default.aspx As Dmv’s nos ajudam a identificar queries que estão levando mais que x segundos para executar, podemos ver o plano de execução utilizado para essa query, quanto consumiu de memoria, Cpu e etc na sua execução. Profile: As opções do sql profile nos ajudam a identificar as queries que podem estar impactando no ambiente utilizado operadores “pesados”, como sort warning, scans, paralelismo, é muito importante conhecer a ferramenta e seus recursos.
  2. Sp_whoisactive: http://sqlblog.com/tags/Who+is+Active/sp_5F00_whoisactive/default.aspx As Dmv’s nos ajudam a identificar queries que estão levando mais que x segundos para executar, podemos ver o plano de execução utilizado para essa query, quanto consumiu de memoria, Cpu e etc na sua execução. Profile: As opções do sql profile nos ajudam a identificar as queries que podem estar impactando no ambiente utilizado operadores “pesados”, como sort warning, scans, paralelismo, é muito importante conhecer a ferramenta e seus recursos.
  3. Falar sobre a atualização das estatísticas e o risco com a estatistica desatualizada. Enfatizar a importancia de se saber ler as informações nas estatísticas.
  4. Sort = responsavel pela ordenação dos dados quando necessário é tipo blocking pois não vai pra “frente” antes que receba todos os dados. Eager Spool = O operador Eager Spool pega toda a entrada, armazenando cada linha em um objeto temporário oculto armazenado no banco de dados tempdb.  Nested Loop = O operador Nested Loops executa operações lógicas de junção interna, junção externa esquerda, left semi join e left anti semi join. As junções de loops aninhados executam uma pesquisa na tabela interna para cada linha da tabela exterior, normalmente usando um índice.  Lazy Spool = O operador lógico Lazy Spool armazena cada linha de sua entrada em um objeto temporário oculto armazenado no banco de dados tempdb. 
  5. Para criar um baseline podemos principalmente utilizar o perfmon, sp_whoisactive salvando as informações. DMv’s. Seja amiguinho do desenvolvedor. Analise o tempo que esta sendo gasto de fato pelo SQL, o usuário tem a percepção do todo o que envolve muita coisa como aplicação rede hardware e etc....