Las estadísticas sobre los índices de SQL Server
Si desea tener un control total de cómo las estadísticas se actualizan, se debe utilizar el Procedimiento de actualización STATISTICS cuya sintaxis es la siguiente
UPDATE STATISTICS table_or_indexed_view_name
[
{
Index_or_statistics__name {}
| ({Index_or_statistics_name} [, ... n])
}
]
[CON
[
[FULLSCAN]
| Número MUESTRA POR CIENTO {| FILAS}]
| RESAMPLE
|
[... N]
]
[[], [ALL | COLUMNAS | Índice]
[[,] NORECOMPUTE]
];
Este procedimiento le permite especificar varias opciones
-
FULLSCAN
Para calcular las estadísticas mediante el escaneo de todas las filas de la tabla o vista indizada.
FULLSCAN y SAMPLE 100 PERCENT tienen los mismos resultados.
No se puede utilizar FULLSCAN con la muestra.
-
Número MUESTRA POR CIENTO {| FILAS}
Porcentaje aproximado o número de filas en la tabla o índice optimizador de consultas para el uso al actualizar las estadísticas.
En PERCENT, el número puede estar entre 0 y 100 para las filas, el número puede estar entre 0 y el número total de filas.
El porcentaje real o el número de filas muestreadas por el optimizador de consultas no puede corresponder al porcentaje o número.
Por ejemplo, el optimizador de consultas analiza todas las filas de una página de datos.
-
MUESTRA
E 'útil para casos especiales en el plan de ejecución, basado en el muestreo por defecto no es óptima.
En la mayoría de las situaciones, no es necesario especificar SAMPLE porque el optimizador de consultas utiliza el muestreo.
Esta opción no se puede utilizar cuando se especifica el FULLSCAN.
Si no se especifica ninguna muestra ni FULLSCAN, el optimizador de consultas utiliza datos de la muestra y calcula el tamaño de la muestra por defecto.
No se recomienda especificar 0 PERCENT o ROWS 0.
Si se especifica 0 PERCENT o ROWS, el objeto de estadísticas se actualiza, pero no contiene datos de las estadísticas.
-
RESAMPLE
Actualización de cada estadística que utiliza el muestreo más reciente.
El uso de RESAMPLE puede resultar en un análisis de tabla completa.
Para las estadísticas sobre los índices, como se utiliza para el análisis de un tipo de tabla de ejemplo completo.
Si no se especifica ninguna de las opciones de la muestra, o muestra, o RESAMPLE FULLSCAN, las muestras optimizador de consultas de los datos y calcula el tamaño de la muestra por defecto.
-
TODOS | Columnas | ÍNDICE
Actualizar todas las estadísticas de las estadísticas existentes, creadas en una o más columnas o las estadísticas creadas para los índices.
Si no se especifica ninguna opción, la instrucción UPDATE STATISTICS actualiza todas las estadísticas de la tabla o vista indizada.
-
NORECOMPUTE
Desactivar las actualizaciones automáticas de las estadísticas AUTO_UPDATE_STATISTICS para las estadísticas.
Si se especifica esta opción, el optimizador completa la actualización de estas estadísticas y desactiva las actualizaciones futuras.
Para volver a habilitar el comportamiento de AUTO_UPDATE_STATISTICS, vuelva a emitir UPDATE STATISTICS sin la opción NORECOMPUTE o ejecutar sp_autostats.
Además de estas soluciones es posible definir la actualización de los índices en un plan de mantenimiento (plan de mantenimiento) de la base de datos, pero es probable que veremos en algún artículo futuro.