sp_createstats (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Llama a la instrucción CREATE STATISTICS para crear estadísticas de una sola columna en columnas que aún no son la primera columna de un objeto de estadísticas. La creación de estadísticas de columna única aumenta el número de histogramas, lo que puede mejorar las estimaciones de cardinalidad, los planes de consulta y el rendimiento de las consultas. La primera columna de un objeto de estadísticas tiene un histograma; otras columnas no tienen un histograma.

sp_createstats es útil para aplicaciones como las pruebas comparativas cuando los tiempos de ejecución de la consulta resultan críticos y no se puede esperar a que el optimizador de consultas genere estadísticas de columna única. En la mayoría de los casos, no es necesario usar sp_createstats; el optimizador de consultas genera estadísticas de una sola columna según sea necesario para mejorar los planes de consulta cuando la opción AUTO_CREATE_STATISTICS está activada.

Para obtener más información sobre las estadísticas, vea Estadísticas. Para obtener más información sobre cómo generar estadísticas de una sola columna, vea la opción AUTO_CREATE_STATISTICS en opciones de ALTER DATABASE SET (Transact-SQL).

Convenciones de sintaxis de Transact-SQL

Sintaxis

  
sp_createstats   
    [   [ @indexonly =   ] { 'indexonly'   | 'NO' } ]   
    [ , [ @fullscan =    ] { 'fullscan'    | 'NO' } ]   
    [ , [ @norecompute = ] { 'norecompute' | 'NO' } ]  
    [ , [ @incremental = ] { 'incremental' | 'NO' } ]  

Argumentos

[ @indexonly = ] 'indexonly' Crea estadísticas solo en columnas que están en un índice existente y no son la primera columna de ninguna definición de índice. indexonly es char(9). El valor predeterminado es NO.

[ @fullscan = ] 'fullscan' Usa la instrucción CREATE STATISTICS con la opción FULLSCAN . fullscan es char(9). El valor predeterminado es NO.

[ @norecompute = ] 'norecompute' Usa la instrucción CREATE STATISTICS con la opción NORECOMPUTE . norecompute es char(12). El valor predeterminado es NO.

[ @incremental = ] 'incremental' Usa la instrucción CREATE STATISTICS con la opción INCREMENTAL = ON . Incremental es char(12). El valor predeterminado es NO.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

Cada nuevo objeto de estadísticas tiene el mismo nombre que la columna en la que se creó.

Comentarios

sp_createstats no crea ni actualiza estadísticas en columnas que son la primera columna de un objeto de estadísticas existente; Esto incluye la primera columna de estadísticas creadas para índices, columnas con estadísticas de una sola columna generadas con AUTO_CREATE_STATISTICS opción y la primera columna de estadísticas creadas con la instrucción CREATE STATISTICS. sp_createstats no crea estadísticas en las primeras columnas de índices deshabilitados a menos que esa columna se use en otro índice habilitado. sp_createstats no crea estadísticas en tablas con un índice clúster deshabilitado.

Cuando la tabla contiene un conjunto de columnas, sp_createstats no crea automáticamente estadísticas en columnas dispersas. Para obtener más información sobre los conjuntos de columnas y las columnas dispersas, vea Usar conjuntos de columnas y Usar columnas dispersas.

Permisos

Requiere pertenencia al rol fijo de base de datos db_owner.

Ejemplos

A. Crear estadísticas de columna única en todas las columnas coincidentes

En el siguiente ejemplo, se crean estadísticas de columna única en todas las columnas coincidentes de la base de datos actual.

EXEC sp_createstats;  
GO  

B. Crear estadísticas de columna única en todas las columnas de índice coincidentes

En el ejemplo siguiente, se crean estadísticas de columna única en todas las columnas coincidentes que ya se encuentran en un índice y que no son la primera columna del índice.

EXEC sp_createstats 'indexonly';  
GO  

Consulte también

estadísticas
CREATE STATISTICS (Transact-SQL)
Opciones de ALTER DATABASE SET (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)
Procedimientos almacenados del motor de base de datos (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)