sp_createstats (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
Chama a instrução CREATE STATISTICS para criar estatísticas de coluna única em colunas que ainda não são a primeira coluna em um objeto de estatísticas. A criação de estatísticas de coluna única aumenta o número de histogramas, o que pode melhorar estimativas de cardinalidade, planos de consulta e desempenho de consulta. A primeira coluna de um objeto de estatísticas tem um histograma; outras colunas não têm um histograma.
sp_createstats
é útil para aplicativos como benchmarking quando os tempos de execução da consulta são críticos e não podem esperar que o otimizador de consulta gere estatísticas de coluna única. Na maioria dos casos, não é necessário usar sp_createstats
; o otimizador de consulta gera estatísticas de coluna única conforme necessário para melhorar os planos de consulta quando a AUTO_CREATE_STATISTICS
opção está ativada.
Para obter mais informações sobre estatísticas, consulte Estatísticas. Para obter mais informações sobre como gerar estatísticas de coluna única, consulte a opção em Opções de AUTO_CREATE_STATISTICS
ALTER DATABASE SET.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_createstats
[ [ @indexonly = ] 'indexonly' ]
[ , [ @fullscan = ] 'fullscan' ]
[ , [ @norecompute = ] 'norecompute' ]
[ , [ @incremental = ] 'incremental' ]
[ ; ]
Argumentos
@indexonly [ = ] 'indexonly'
Cria estatísticas somente em colunas que estão em um índice existente e não são a primeira coluna em nenhuma definição de índice. @indexonly é char(9), com um padrão de NO
.
@fullscan [ = ] 'varredura completa'
Usa a instrução CREATE STATISTICS com a FULLSCAN
opção. @fullscan é char(9), com um padrão de NO
.
@norecompute [ = ] 'norecompute'
Usa a instrução CREATE STATISTICS com a NORECOMPUTE
opção. @norecompute é char(12), com um padrão de NO
.
@incremental [ = ] 'incremental'
Usa a instrução CREATE STATISTICS com a INCREMENTAL = ON
opção. @incremental é char(12), com um padrão de NO
.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Conjunto de resultados
Cada novo objeto de estatísticas tem o mesmo nome da coluna em que foi criado.
Comentários
sp_createstats
não cria nem atualiza estatísticas em colunas que são a primeira coluna em um objeto de estatísticas existente. Isso inclui a primeira coluna de estatísticas criadas para índices, colunas com estatísticas de coluna única geradas com AUTO_CREATE_STATISTICS
a opção e a primeira coluna de estatísticas criadas com a CREATE STATISTICS
instrução. sp_createstats
não cria estatísticas nas primeiras colunas de índices desabilitados, a menos que essa coluna seja usada em outro índice habilitado. sp_createstats
não cria estatísticas em tabelas com um índice clusterizado desabilitado.
Quando a tabela contém um conjunto de colunas, sp_createstats
não cria estatísticas em colunas esparsas. Para obter mais informações sobre conjuntos de colunas e colunas esparsas, consulte Usar conjuntos de colunas e Usar colunas esparsas.
Permissões
Requer associação na função de banco de dados fixa db_owner.
Exemplos
R. Criar estatísticas de coluna única em todas as colunas qualificadas
O exemplo a seguir cria estatísticas de coluna única em todas as colunas qualificadas do banco de dados atual.
EXEC sp_createstats;
GO
B. Criar estatísticas de coluna única em todas as colunas de índice qualificadas
O exemplo a seguir cria estatísticas de coluna única em todas as colunas qualificadas que já estão em um índice e não são a primeira coluna no índice.
EXEC sp_createstats 'indexonly';
GO
Conteúdo relacionado
- Estatísticas
- CREATE STATISTICS (Transact-SQL)
- Opções de ALTER DATABASE SET (Transact-SQL)
- DBCC SHOW_STATISTICS (Transact-SQL)
- DROP STATISTICS (Transact-SQL)
- UPDATE STATISTICS (Transact-SQL)
- Procedimentos armazenados do Mecanismo de Banco de Dados (Transact-SQL)
- Procedimentos armazenados do sistema (Transact-SQL)