Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Ajude a melhorar as estatísticas do SQL Server!


Há muito tempo, eu costumava publicar resumos do Connect – pequenos posts que destacavam alguns relatórios de bugs ou sugestões no Connect que eu achava que mereciam mais atenção. Agora, vou dizer o seguinte:não sou muito fã de um sistema onde a pessoa com mais amigos dispostos a votar consegue o que quer, porque a equipe do SQL Server deve ser capaz de ignorar ou adiar ruídos e se concentrar em os bugs ou sugestões mais importantes e impactantes. Mas não é assim que eles fazem as coisas em Redmond . Então, hoje, eu tenho um pedido:me ajude votando e comentando esses três itens do Connect, que visam melhorar o funcionamento das estatísticas do SQL Server.

(Observe que os comentários têm muito mais peso do que a mera contagem de votos, portanto, indique seu caso de negócios, se você tiver um que seja compartilhável.)

Dica MAXDOP para ATUALIZAR ESTATÍSTICAS


O SQL Server 2016 adicionou uma dica MAXDOP para comandos DBCC CHECK, então por que não para atualizações de estatísticas? Em tabelas particionadas, isso pode ter um grande impacto no restante da carga de trabalho. Também devemos ser capazes de substituir o MAXDOP definido pelo sistema para atualizações automáticas de estatísticas, mas por enquanto eu ficaria feliz com mais controle sobre o gerenciamento manual de estatísticas. A solicitação é capturada no seguinte item do Connect:
  • Conexão nº 628971:adicione o parâmetro MAXDOP às estatísticas de atualização

Deixe o otimizador de consulta ver as estatísticas no nível da partição


Erin Stellato escreveu sobre os benefícios das estatísticas incrementais aqui, mas realmente acertou em cheio sobre seus problemas neste post:Estatísticas incrementais NÃO são usadas pelo Query Optimizer. Por favor, leia isso e depois vote e comente sobre o item que acabei de criar (não acredito que nunca notei que um DCR ainda não existia para isso):
  • Conexão nº 2010834:o otimizador deve, na verdade, *usar* estatísticas por partição

As estatísticas automáticas devem considerar o número de linhas em um índice/estatística filtrado


Atualmente, contar com atualizações automáticas para índices e estatísticas filtrados é como Waiting for Godot – o algoritmo usa o número de linhas na tabela ao determinar o limite de churn, não o número de linhas no índice. Isso significa que a maioria dos índices filtrados - e de fato os mais úteis índices filtrados – nunca serão atualizados automaticamente. (Falo sobre isso aqui, e Kimberly Tripp fala sobre isso aqui e aqui. Tenho certeza de que outros blogaram sobre isso também.) Acho que é hora de isso mudar - se você concorda, vote e comente sobre o item de Joe Sack (o título indica estatísticas filtradas, mas realmente se relaciona com ambos):
  • Connect #509638 :sugerindo alterações nas atualizações de estatísticas filtradas