Ejecuté Tuning Advisor en una carga de trabajo que había guardado. En sus recomendaciones hay muchas estadísticas de creación y algunas índices de creación. Sé que los índices mejorarán el rendimiento, pero ¿alguien puede explicar cómo la recopilación de estadísticas mejoraría el rendimiento?
Respuesta1
En un nivel muy alto, se mantienen estadísticas para que el Optimizador de consultas de SQL Server pueda determinar la mejor manera de ejecutar las declaraciones. Se generan planes de ejecución para cada operación y las estadísticas ayudan a determinar el plan de ejecución más eficiente a utilizar para completar una tarea.
Hay un montón de información sobre este tema. Sin embargo, antes de implementar sugerencias de ajuste, debes estar absolutamente seguro de lo que están haciendo. Por ejemplo, no siempre es un hecho que agregar un índice mejorará el rendimiento. A veces los efectos son negativos. Sin embargo, mantener las estadísticas actualizadas es una pieza vital.
Aquí hay un artículo de MSDN que describe las estadísticas que utiliza Query Optimizer en SQL 2008.
Estadísticas utilizadas por el optimizador de consultas en Microsoft SQL Server 2008
También recomendaría leer las ofertas de estos expertos:
- Pablo Randal
- Grant Fritchey
- Brent Ozar(y compañía)
Respuesta2
servidor SQLTuning Advisor es una herramienta diseñada expresamente para sistemas Microsoft SQL Server que permite ajustar la base de datos de diferentes maneras. Se puede utilizar en aplicaciones de ajuste tanto en línea como fuera de línea, según las necesidades del individuo o la empresa. Tiene la capacidad de mejorar enormemente el rendimiento general de las búsquedas ajustando varios elementos como los índices. También se puede utilizar para optimizar un servidor SQL creando o eliminando particiones e índices y modificando este tipo de elementos de una manera diseñada para que todo vaya lo más rápido posible.
La recopilación de estadísticas mejoraría el rendimiento de SQL Server Tuning Advisor por varios motivos diferentes. Estas estadísticas en sí mismas son objetos que se componen de información relacionada con la forma en que los datos y los valores se distribuyen en las columnas de una tabla o cuando están en vista indexada. Una vez que se hayan recopilado las estadísticas necesarias, SQL Server Tuning Advisor utilizará esa información para estimar el número de filas en el resultado de una consulta en particular. La estimación se denomina "estimación de cardinalidad" y la información permite a la aplicación crear un plan de consulta de alta calidad. Hacerlo mostrará una mejora sustancial del rendimiento con respecto a la forma en que se ejecutan tradicionalmente las consultas.
Dar una mejora de rendimiento a un SQL Server con SQL Server Tuning Advisor es similar en concepto a mejorar la función "Buscar" en el sistema operativo Microsoft Windows al permitir la indexación. Si SQL Server Tuning Advisor puede utilizar estadísticas para estimar cómo se verán los resultados de la consulta, podrá generar esos resultados más rápido que si no hubiera ninguna estadística presente. Resultados de consulta más rápidos darán paso a un entorno de trabajo más fluido en general