Quais são as estatísticas do SQL Server?
As estatísticas do SQL Server são grandes objetos binários usados para manter informações estatísticas sobre a distribuição de valores em colunas de tabela.
O SQL Server Query Optimizer usa as estatísticas para determinar para criar uma cardinalidade estimada. O valor da cardinalidade é então usado para criar um plano de execução otimizado e de alta qualidade.
Cardinalidade refere -se ao número de linhas.
Portanto, é importante manter as estatísticas do SQL Server atualizadas, pois os resultados estatísticos incorretos podem levar a um plano de consulta caro e alto uso de recursos. Um plano de execução ruim do otimizador de consulta pode levar a problemas, como bloqueio e deadlocks.
O que é plano de execução do SQL Server?
Um plano de execução ou um plano de consulta refere -se a uma série de etapas organizadas para consultar e acessar dados em um banco de dados. O otimizador de consulta gerará uma representação gráfica do método de alto otimizado para buscar dados para a consulta especificada.
Veja as estatísticas do servidor SQL
No SQL Server, você pode usar o SQL Server Management Studio ou a consulta T-SQL para visualizar as estatísticas de um objeto específico.
No SSMS, navegue para bancos de dados -> seu banco de dados de destino -> tabelas -> Tabela de destino -> Estatísticas.
Como mostrado:
Para visualizar os detalhes de um objeto estatístico específico, clique com o botão direito do mouse e selecione a opção de propriedades. Você pode ver a última vez que as estatísticas para as colunas foram atualizadas como:
Para visualizar a distribuição e a frequência do histograma, use a guia Detalhes na janela Propriedades.
SQL Server View Statistics: Transact-SQL
Você também pode ver os detalhes de uma estatística usando uma consulta T-SQL. Considere a consulta de exemplo mostrada abaixo:
use salesdb;
Selecione
Estatísticas.nome,
STATS_PROPERTIES.Ultima atualização,
STATS_PROPERTIES.linhas,
STATS_PROPERTIES.linhas_sampled,
STATS_PROPERTIES.UNFLTERED_ROWS,
STATS_PROPERTIES.modificação_counter,
STATS_PROPERTIES.passos
de sys.estatísticas como estatísticas
Sistema de aplicação externa.DM_DB_STATS_PROPERTIES (STATS.object_id, estatísticas.stats_id) como stats_properties
onde object_name (estatísticas.object_id) = 'clientes'
Ordem por last_updated desc;
A consulta acima deve retornar um exemplo de resultado como:
O SQL Server também fornece o comando dbcc para mostrar os detalhes de uma estatística específica. Exemplo:
DBCC Show_Statistics ('clientes', 'CustomerPK');
A consulta acima leva dois parâmetros: nome da tabela e estatísticas de destino, respectivamente.
Estatísticas de atualização do servidor SQL
Existem várias maneiras de atualizar as estatísticas no SQL Server. Para ativar a atualização de estatísticas automáticas, clique com o botão direito do mouse no banco de dados de destino, navegue na guia Opções e defina as “estatísticas de atualização automática” como true na guia Automatic.
Para atualizar as estatísticas manualmente usando a consulta T-SQL, use a consulta como mostrado:
Atualizar estatísticas DBO.Clientes;
Onde dbo.Os clientes representam a tabela de destino.
Você também pode usar o comando Atualizar estatísticas como:
EXEC SP_UPDATESTATS;
A saída é como:
Conclusão
Este guia abrange como trabalhar com as estatísticas do SQL Server e vários métodos para executar atualizações de estatísticas no SSMS e T-SQL.