domingo, 22 de octubre de 2023

Estadisticas en SQL Server - Su importancia

¿Sabías que para la creación y mantenimiento de estadísticas es fundamental para optimizar una Base de Datos?

 

SQL Server construye sus planes de ejecución respecto a la densidad de datos en nuestras tablas o vistas indexadas en una o más columnas de, con lo cual crear y mantener estadísticas es importante

Las estadísticas contienen información sobre la distribución de valores de datos en una columna y el optimizador utiliza esa información para determinar la cardinalidad, que es la cantidad de filas esperada como resultado de nuestra consulta.

Por ultimo el optimizador utiliza las estimaciones para generar el plan de ejecución, si quieres ver las estadísticas definidas por el usuario puedes ejecutar la siguiente consulta

 

SELECT sp.stats_id,       name,       last_updated,       rows,

       rows_sampled FROM sys.stats

     CROSS APPLY sys.dm_db_stats_properties(object_id, stats_id) AS sp

WHERE user_created = 1

 

Típicamente se consideran los siguientes escenarios para la creación de índices

 

  •         El Asistente para la optimización de motor de base de datos sugiere crear las estadísticas
  •         El predicado de consulta contiene varias columnas que aún no están en el mismo índice
  •         La consulta realiza la selección entre un subconjunto de datos
  •         La consulta ha perdido estadísticas


Esta es solo una capsula, el tema es amplio y en otras entradas agregare consultas para determinar estadisticas que faltan, asi como scripts para crear estadisticas.