Cómo actualizar estadísticas SQL Server

Cómo actualizar estadísticas SQL Server
Este artículo comprenderá los conceptos básicos de las estadísticas de SQL Server y varios métodos para realizar una actualización de estadísticas.

¿Qué son las estadísticas de SQL Server??

Las estadísticas de SQL Server son objetos binarios grandes que se utilizan para contener información estadística sobre la distribución de valores en las columnas de la tabla.

El Optimizador de consultas de SQL Server utiliza las estadísticas para determinar la creación de una cardinalidad estimada. El valor de cardinalidad se usa para crear un plan de ejecución optimizado y de alta calidad.

La cardinalidad se refiere al número de filas.

Por lo tanto, es importante mantener actualizadas las estadísticas de SQL Server, ya que los resultados estadísticos incorrectos pueden conducir a un plan de consulta costoso y un alto uso de recursos. Un mal plan de ejecución del optimizador de consultas puede conducir a problemas, como bloqueo y bloqueo muerto.

¿Cuál es el plan de ejecución del servidor SQL??

Un plan de ejecución o un plan de consulta se refiere a una serie de pasos organizados para consultar y acceder a los datos en una base de datos. El optimizador de consulta generará una representación gráfica del método de alta optimización para obtener datos para la consulta especificada.

Ver estadísticas de servidor SQL

En SQL Server, puede usar el estudio de administración de SQL Server o la consulta T-SQL para ver las estadísticas de un objeto específico.

En SSMS, navegue a bases de datos -> su base de datos de destino -> Tablas -> Tabla de destino -> Estadísticas.

Como se muestra:

Para ver los detalles de un objeto estadístico específico, haga clic con el botón derecho y seleccione la opción Propiedades. Puede ver la última vez que se actualizaron las estadísticas para las columnas como:

Para ver la distribución y la frecuencia del histograma, use la pestaña Detalles en la ventana Propiedades.

Estadísticas de vista SQL Server: Transact-SQL

También puede ver los detalles de una estadística utilizando una consulta T-SQL. Considere la consulta de ejemplo que se muestra a continuación:

usar salesDB;
seleccionar
estadísticas.nombre,
stats_properties.última actualización,
stats_properties.hilera,
stats_properties.filas_sampled,
stats_properties.sin filtrar_rows,
stats_properties.modificación_counter,
stats_properties.pasos
del sys.Estadísticas como estadísticas
Sys de aplicación externa.dm_db_stats_properties (estadísticas.Object_id, estadísticas.stats_id) como stats_properties
donde object_name (estadísticas.object_id) = 'clientes'
pedido por last_updated Desc;

La consulta anterior debe devolver un resultado de ejemplo como:

SQL Server también proporciona el comando DBCC para mostrar los detalles de una estadística específica. Ejemplo:

dbcc show_statistics ('clientes', 'customerpk');

La consulta anterior toma dos parámetros: nombre de tabla y estadísticas de destino, respectivamente.

Estadísticas de actualización de SQL Server

Hay varias formas de actualizar estadísticas en SQL Server. Para habilitar la actualización de estadísticas automáticas, haga clic con el botón derecho en su base de datos de destino, navegue por la pestaña Opciones y establezca las "Estadísticas de actualización automática" en verdadero en la pestaña Automática.

Para actualizar estadísticas manualmente utilizando la consulta T-SQL, use la consulta como se muestra:

Estadísticas de actualización DBO.Clientes;

Donde dbo.Los clientes representan la tabla objetivo.

También puede usar el comando de estadísticas de actualización como:

Ejec SP_UPDATESTATS;

La salida es como:

Conclusión

Esta guía cubre cómo trabajar con las estadísticas de SQL Server y varios métodos para realizar actualizaciones de estadísticas en SSMS y T-SQL.