sp_createstats (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance
Llama a la instrucción CREATE STATISTICS para crear estadísticas de columna única 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 la prueba comparativa cuando los tiempos de ejecución de consultas son críticos y no pueden esperar a que el optimizador de consultas genere estadísticas de una sola columna. 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 AUTO_CREATE_STATISTICS
opción 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, consulte la AUTO_CREATE_STATISTICS
opción en OPCIONES ALTER DATABASE SET.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_createstats
[ [ @indexonly = ] 'indexonly' ]
[ , [ @fullscan = ] 'fullscan' ]
[ , [ @norecompute = ] 'norecompute' ]
[ , [ @incremental = ] 'incremental' ]
[ ; ]
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), con un valor predeterminado de NO
.
[ @fullscan = ] 'fullscan'
Usa la instrucción CREATE STATISTICS con la FULLSCAN
opción . @fullscan es char(9), con un valor predeterminado de NO
.
[ @norecompute = ] 'norecompute'
Usa la instrucción CREATE STATISTICS con la NORECOMPUTE
opción . @norecompute es char(12), con un valor predeterminado de NO
.
[ @incremental = ] 'incremental'
Usa la instrucción CREATE STATISTICS con la INCREMENTAL = ON
opción . @incremental es char(12), con un valor predeterminado de NO
.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Conjunto de resultados
Cada nuevo objeto de estadísticas tiene el mismo nombre que la columna en la que se crea.
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 columna única generadas con AUTO_CREATE_STATISTICS
la opción y la primera columna de estadísticas creadas con la CREATE STATISTICS
instrucción . 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 agrupado deshabilitado.
Cuando la tabla contiene un conjunto de columnas, sp_createstats
no crea estadísticas en columnas dispersas. Para obtener más información sobre los conjuntos de columnas y las columnas dispersas, consulte Uso de conjuntos de columnas y Uso de 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 aptas que ya están en un índice y no son la primera columna del índice.
EXEC sp_createstats 'indexonly';
GO
Contenido relacionado
- 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)
- Motor de base de datos procedimientos almacenados (Transact-SQL)
- Procedimientos almacenados del sistema (Transact-SQL)