DTA recomenda a criação de estatísticas

10

Acabei de executar uma consulta T-SQL através do DTA e uma das recomendações é CRIAR ESTATÍSTICAS em uma das colunas que faz parte de muitas das consultas no arquivo de código SQL.

Minha pergunta é: como exatamente as estatísticas ajudam no desempenho?


fonte

Respostas:

7

statistics é usado quando o plano de execução da consulta é criado.

Estatísticas para otimização de consulta são objetos que contêm informações estatísticas sobre a distribuição de valores em uma ou mais colunas de uma tabela ou exibição indexada. O otimizador de consulta usa essas estatísticas para estimar a cardinalidade ou número de linhas no resultado da consulta. Essas estimativas de cardinalidade permitem que o otimizador de consulta crie um plano de consulta de alta qualidade. Por exemplo, o otimizador de consulta pode usar estimativas de cardinalidade para escolher o operador de busca de índice em vez do operador de varredura de índice que consome mais recursos e, ao fazer isso, melhora o desempenho da consulta.

Consulte http://msdn.microsoft.com/en-us/library/ms190397.aspx para obter mais detalhes.

Alex_L
fonte
11
ótimo link e descrição. É sempre benéfico ter estatísticas criadas em tabelas que são consultadas frequentemente?
Thomas Stringer
sim, devemos ter certeza de que as estatísticas das tabelas mais legíveis são sempre adequadas. Se sua tabela exige muita gravação, é possível que você precise atualizar estatísticas, por exemplo, todas as noites.
Alex_L
2
@ Surfer513 - tenha cuidado: a criação de estatísticas pode ter um efeito prejudicial. As melhores informações que você está fornecendo ao planejador podem fazer com que ele escolha um caminho de execução diferente e, como este é um jogo de probabilidades, é possível que esse caminho seja mais lento (mesmo que seja mais rápido em geral). Em outras palavras, em um banco de dados de produção, teste antes de implementar.
Jack diz que tente topanswers.xyz 16/08
7

Se o DTA recomendou uma estatística de coluna única, você deve desativar as estatísticas de criação automática? A criação automática cria estatísticas em qualquer coluna usada em um predicado, automaticamente; portanto, geralmente é uma boa ideia deixá-la ativada. Verifique o status da atualização automática desse banco de dados, que normalmente deve estar ativado novamente.

Um dos melhores usos do DTA é para identificar estatísticas de várias colunas ausentes, que a criação automática não cria. Mas, para uma única coluna, a criação automática deve cuidar deles para você.

Mark Storey-Smith
fonte