DTA recomienda CREAR ESTADÍSTICAS

10

Acabo de ejecutar una consulta T-SQL a través de DTA y una de las recomendaciones es CREAR ESTADÍSTICAS en una de las columnas que forma parte de muchas de las consultas en el archivo de código SQL.

Mi pregunta es, ¿cómo ayudan exactamente las estadísticas al rendimiento?


fuente

Respuestas:

7

Las estadísticas se utilizan cuando se crea el plan de ejecución de consultas.

Las estadísticas para la optimización de consultas son objetos que contienen información estadística sobre la distribución de valores en una o más columnas de una tabla o vista indizada. El optimizador de consultas utiliza estas estadísticas para estimar la cardinalidad, o el número de filas, en el resultado de la consulta. Estas estimaciones de cardinalidad permiten al optimizador de consultas crear un plan de consultas de alta calidad. Por ejemplo, el optimizador de consultas podría usar estimaciones de cardinalidad para elegir el operador de búsqueda de índice en lugar del operador de exploración de índice que requiere más recursos y, al hacerlo, mejorar el rendimiento de la consulta.

Consulte http://msdn.microsoft.com/en-us/library/ms190397.aspx para obtener más detalles.

Alex_L
fuente
1
Gran enlace y descripción. ¿Siempre es beneficioso tener estadísticas creadas en tablas que se consultan con frecuencia?
Thomas Stringer
Sí, debemos asegurarnos de que las estadísticas de las tablas más legibles sean siempre adecuadas. Si su tabla es de escritura intensiva, es posible que necesite actualizar estadísticas, por ejemplo, todas las noches.
Alex_L
2
@ Surfer513: tenga cuidado: la creación de estadísticas puede tener un efecto perjudicial. La mejor información que le está dando al planificador puede hacer que elija una ruta de ejecución diferente y debido a que este es un juego de probabilidades, es posible que esta ruta sea más lenta (incluso si es probable que sea más rápida en general). En otras palabras, en una base de datos de producción, pruebe antes de implementar.
Jack dice que intente topanswers.xyz
7

Si el DTA recomienda una estadística de una sola columna, ¿debe tener las estadísticas de creación automática desactivadas? La creación automática generará estadísticas en cualquier columna utilizada en un predicado, automáticamente, por lo que generalmente es una buena idea dejarlo activado. Verifique el estado de la actualización automática para esta base de datos, que nuevamente debería estar activada.

Uno de los mejores usos de DTA es para identificar estadísticas faltantes de varias columnas, que la creación automática no generará. Pero para una sola columna, la creación automática debería ocuparse de ellos por usted.

Mark Storey-Smith
fuente