Estatísticasno SQL Server

Estatísticasno SQL Server

Tempo de leitura: 3 minutos

Olá pessoal, espero que estejam bem. Hoje gostaria de falar de um assunto que as vezes é muito discutido e TAMBEM gera dúvidas dos iniciantes de banco de dados e até mesmo entre DBAs no nível pleno/senior para entender com clareza alguns conceitos que faltam no dia a dia. Se você não leu meu primeiro artigo quando voltei a escrever no meu blog, vai perceber que estou focado em cobrir coisas do básico ao avançado com conceitos. Com isso em mente, hoje vou falar de estatísticas e no final do artigo deixei uma URL sobre o assunto, onde cobri com mais detalhes, dito isso, voce deve ler esse artigo e assistir o video para ter o entedimento “completo” (do básico ) sobre estatísticas

O que são as estatísticas no SQL Server?

As estatísticas no SQL Server são informações sobre a distribuição de valores em uma ou mais colunas de uma tabela. Essas informações são usadas pelo otimizador de consultas do SQL Server para escolher o melhor plano de execução para uma consulta.

As estatísticas são usadas para estimar o número de linhas que serão retornadas por uma consulta, ajudando o otimizador de consultas a escolher o plano de execução mais eficiente. Sem estatísticas precisas, o otimizador pode escolher um plano de execução ineficiente, o que pode resultar em tempos de resposta mais longos e menor desempenho geral do sistema.

O SQL Server cria automaticamente as estatísticas para cada índice definido em uma tabela. Além disso, as estatísticas também podem ser criadas manualmente para uma ou mais colunas em uma tabela. As estatísticas podem ser atualizadas automaticamente sempre que uma tabela é modificada ou atualizada, ou podem ser atualizadas manualmente quando necessário.

Em resumo, as estatísticas no SQL Server são uma ferramenta crítica para otimizar o desempenho de consultas, permitindo que o otimizador de consultas faça escolhas informadas sobre o melhor plano de execução para uma determinada consulta.

Para que serve as estatísticas no sql server e qual e a boa pratica recomendada pela micrcosoft referente a isso ?

As estatísticas no SQL Server são usadas pelo otimizador de consultas para determinar a melhor estratégia de execução para uma consulta. Quando uma consulta é executada, o otimizador de consultas analisa as estatísticas para determinar a melhor maneira de acessar os dados necessários para a consulta.

As estatísticas fornecem informações sobre a distribuição dos dados em uma coluna ou conjunto de colunas de uma tabela. O otimizador de consultas pode usar essas informações para estimar o número de linhas que serão retornadas por uma consulta e escolher o plano de execução mais eficiente.

A boa prática recomendada pela Microsoft em relação às estatísticas no SQL Server é manter as estatísticas atualizadas regularmente. Isso é particularmente importante para tabelas grandes que são frequentemente modificadas. Se as estatísticas ficarem desatualizadas, o otimizador de consultas pode escolher um plano de execução ineficiente, o que pode afetar negativamente o desempenho das consultas.

Existem algumas maneiras de manter as estatísticas atualizadas no SQL Server:

  • Configurar as estatísticas para atualização automática sempre que uma porcentagem de linhas na tabela for modificada (o valor padrão era de 20%, mas, hoje tem outros fatores que influenciam isso e vou falar em outro post)
  • Usar o comando “UPDATE STATISTICS” para atualizar manualmente as estatísticas de uma tabela ou coluna específica
  • Usar a opção “FULLSCAN” com o comando “UPDATE STATISTICS” para garantir que as estatísticas sejam atualizadas com base em todas as linhas da tabela, em vez de uma amostra aleatória
  • Em resumo, manter as estatísticas atualizadas é uma boa prática recomendada pela Microsoft para garantir o desempenho ideal das consultas no SQL Server. As estatísticas fornecem informações críticas para o otimizador de consultas, permitindo que ele escolha o plano de execução mais eficiente para uma determinada consulta.

Como eu posso visualizar as estatisticas de uma tabela no sql server?

Você pode visualizar as estatísticas de uma tabela no SQL Server usando o SQL Server Management Studio (SSMS) ou por meio de consultas SQL.

Usando o SQL Server Management Studio:

  • Abra o SSMS e conecte-se ao servidor e ao banco de dados onde a tabela está localizada.
  • Expanda o nó do banco de dados para exibir as tabelas.
  • Clique com o botão direito do mouse na tabela para a qual você deseja ver as estatísticas e selecione “Propriedades”.
  • Na caixa de diálogo “Propriedades da Tabela”, selecione “Estatísticas”.
  • Você verá uma lista de todas as estatísticas associadas à tabela, incluindo o nome da estatística, as colunas associadas e a data em que as estatísticas foram atualizadas pela última vez.
  • Usando consultas SQL:

 

Você também pode usar consultas SQL para visualizar as estatísticas de uma tabela. Por exemplo, a seguinte consulta retorna informações sobre as estatísticas para a tabela “MinhaTabela”:

Essa consulta retorna informações sobre todas as estatísticas associadas à tabela “MinhaTabela”, incluindo o nome da estatística, a data em que foi atualizada pela última vez e as colunas associadas. Você pode ajustar a consulta para exibir informações específicas para a tabela e as estatísticas que você deseja ver.

TC, como de fato as estatísticas funcionam? No passado, fiz um video sobre isso que traz muitas informações aqui Webcast de estatisticas no SQL Server

Grande abs and happy learning !!!!

 

Deixe uma resposta

%d blogueiros gostam disto: