Atualização de estatísticas
Aplica-se a: SQL Server
Banco de dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Você pode atualizar estatísticas de otimização de consulta em uma tabela ou exibição indexada no SQL Server usando o SQL Server Management Studio ou o Transact-SQL. Por padrão, o otimizador de consulta já realiza a atualização de estatísticas, conforme necessário, para aprimorar o plano de consulta. Em alguns casos, é possível melhorar o desempenho da consulta ao usar UPDATE STATISTICS
ou o procedimento armazenado sp_updatestats
para realizar a atualização de estatísticas com mais frequência do que as atualizações padrão.
A atualização de estatísticas assegura que as consultas sejam compiladas com estatísticas atualizadas. Porém, a atualização de estatísticas faz com que as consultas sejam recompiladas. Nossa recomendação é para não realizar a atualização de estatísticas com muita frequência porque há uma compensação de desempenho entre a melhoria dos planos de consulta e o tempo necessário para recompilar as consultas. As compensações específicas dependem do seu aplicativo. UPDATE STATISTICS
pode usar tempdb
para classificar o exemplo de linhas para compilação de estatísticas.
Permissões
Se estiver usando UPDATE STATISTICS
ou fazendo alterações por meio do SQL Server Management Studio, será necessária a permissão ALTER na tabela ou na exibição. Se você estiver usando sp_updatestats
, isso exigirá a associação na função de servidor fixa sysadmin ou a propriedade do banco de dados (dbo).
Usar o SQL Server Management Studio
Atualizar um objeto de estatísticas
No Pesquisador de Objetos, selecione o sinal de adição para expandir o banco de dados no qual deseja atualizar as estatísticas.
Selecione o sinal de adição para expandir a pasta Tabelas.
Selecione o sinal de adição para expandir a tabela na qual deseja atualizar as estatísticas.
Selecione o sinal de adição para expandir a pasta Estatísticas.
Clique com o botão direito do mouse no objeto de estatísticas que você deseja atualizar e selecione Propriedades.
Na caixa de diálogo Propriedades de Estatísticas -statistics_name, selecione a caixa de seleção Atualização de Estatísticas para Estas Colunas e, em seguida, escolha OK.
Usar o Transact-SQL
Atualizar um objeto de estatísticas específico
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e selecione Executar.
USE AdventureWorks2022; GO -- The following example updates the statistics for the AK_SalesOrderDetail_rowguid index of the SalesOrderDetail table. UPDATE STATISTICS Sales.SalesOrderDetail AK_SalesOrderDetail_rowguid; GO
Atualizar todas as estatísticas em uma tabela
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e selecione Executar.
USE AdventureWorks2022; GO -- The following example updates the statistics for all indexes on the SalesOrderDetail table. UPDATE STATISTICS Sales.SalesOrderDetail; GO
Para obter mais informações, confira UPDATE STATISTICS.
Atualizar todas as estatísticas em um banco de dados
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e selecione Executar.
USE AdventureWorks2022; GO -- The following example updates the statistics for all tables in the database. EXEC sp_updatestats;
Índice automático e gerenciamento de estatísticas
Use soluções, como Adaptive Index Defrag, para gerenciar de forma automática a desfragmentação do índice e as atualizações de estatísticas para um ou mais bancos de dados. Esse procedimento escolhe automaticamente se deseja recompilar ou reorganizar um índice de acordo com o nível de fragmentação, entre outros parâmetros, e realizar a atualização de estatísticas com um limite linear.