utilizar tuning engine como advisor sql-server tsql statistics database-tuning-advisor

tuning - ¿Qué hace "Crear estadísticas" en SQL Server 2005?



como utilizar database engine tuning advisor (5)

El Asesor de ajuste de la base de datos recomienda que cree un grupo de estadísticas en mi base de datos. Soy algo así como SQL n00b, así que esta fue la primera vez que me encontré con una criatura así. La entrada en MSDN era un poco obtusa. ¿Alguien podría explicar qué es exactamente lo que hace y por qué es una buena idea?


Básicamente solo mantiene SQL actualizado con qué tipo de indexación tiene, recuento de filas, etc. Esto ayuda a SQL a estimar mejor cómo ejecutar sus consultas. Mantener las estadísticas actualizadas es algo bueno.


Desde el BOL ...

Crea un histograma y los grupos de densidad asociados (colecciones) sobre la columna suministrada o conjunto de columnas de una tabla o vista indexada. Las estadísticas de resumen de cadenas también se crean en estadísticas compiladas en las columnas char, varchar, varchar (max), nchar, nvarchar, nvarchar (max), text y ntext. El optimizador de consultas utiliza esta información estadística para elegir el plan más eficiente para recuperar o actualizar datos. Las estadísticas actualizadas le permiten al optimizador evaluar con precisión el costo de diferentes planes de consulta y elegir un plan de alta calidad.


El optimizador usa las estadísticas para determinar si se usa un índice específico para su consulta. Sin estadísticas, el optimizador no tiene una forma de saber cuántas de sus filas coincidirán con una condición dada, lo que hace que tenga que optimizar para el caso de "muchas filas", que podría ser menos que óptimo.


En pocas palabras, prepara su base de datos para trabajar de manera efectiva. Al tener estadísticas preparadas, su base de datos sabe (antes de que tenga que descubrir un plan de ejecución) cuál es probablemente su ruta más eficiente.


La Optimización de consultas basada en costos es una técnica que usa histogramas y conteos de filas para estimar heurísticamente el costo de ejecutar un plan de consulta. Cuando envía una consulta a SQL Server, la evalúa y genera una serie de Planes de consulta para los cuales utiliza la heurística para estimar los costos. A continuación, selecciona el plan de consulta más barato.

El optimizador de consultas usa las estadísticas para calcular el costo de los planes de consulta. Si las estadísticas faltan o están desactualizadas, no tiene datos correctos para estimar el plan. En este caso, puede generar planes de consulta moderados o altamente subóptimos.

SQL Server (en la mayoría de los casos) generará estadísticas en la mayoría de las tablas e índices automáticamente, pero puede complementarlas o forzar las actualizaciones. El asistente de ajuste de consultas supuestamente ha encontrado algunas estadísticas faltantes o uniones identificadas dentro de la consulta para las que se deberían agregar las estadísticas.