sql >> Base de Datos >  >> RDS >> Sqlserver

¡Ayude a mejorar las estadísticas de SQL Server!

Hace mucho tiempo, solía publicar resúmenes de Connect:pequeñas publicaciones que destacaban algunos informes de errores o sugerencias sobre Connect que pensaba que merecían más atención. Ahora, diré esto:no soy realmente un gran admirador de un sistema en el que la persona con la mayor cantidad de amigos dispuestos a votar se salga con la suya, porque el equipo de SQL Server debería poder ignorar o diferir el ruido y concentrarse en los errores o sugerencias más importantes e impactantes. Pero no es así como se hacen las cosas en Redmond . Entonces, hoy, tengo una solicitud:ayúdenme votando y comentando estos tres elementos de Connect, todos los cuales tienen como objetivo mejorar el funcionamiento de las estadísticas de SQL Server.

(Tenga en cuenta que los comentarios tienen mucho más peso que los simples votos, así que exponga su caso de negocios, si tiene uno que se pueda compartir).

Sugerencia MAXDOP para ACTUALIZAR ESTADÍSTICAS

SQL Server 2016 ha agregado una sugerencia MAXDOP para los comandos DBCC CHECK, entonces, ¿por qué no para las actualizaciones de estadísticas? En las tablas particionadas, esto puede tener un gran impacto en el resto de la carga de trabajo. También deberíamos poder anular el MAXDOP definido por el sistema para las actualizaciones automáticas de estadísticas, pero por ahora me gustaría tener más control sobre la gestión manual de estadísticas. La solicitud se captura en el siguiente elemento de conexión:

  • Conectar #628971:agregar el parámetro MAXDOP para actualizar estadísticas

Permitir que el optimizador de consultas vea estadísticas a nivel de partición

Erin Stellato ha escrito en su blog sobre los beneficios de las estadísticas incrementales aquí, pero realmente dio en el clavo sobre sus problemas en esta publicación:Las estadísticas incrementales NO son utilizadas por el Optimizador de consultas. Léalo y luego vote y comente sobre el elemento que acabo de crear (no puedo creer que nunca me di cuenta de que no existía un DCR para esto):

  • Connect #2010834 :Optimizer en realidad debería *usar* estadísticas por partición

Las estadísticas automáticas deben considerar el número de filas en un índice/estadística filtrado

Actualmente, confiar en las actualizaciones automáticas de índices y estadísticas filtrados es como esperar a Godot:el algoritmo usa la cantidad de filas en la tabla al determinar el umbral de abandono, no la cantidad de filas en el índice. Esto significa que la mayoría de los índices filtrados, y de hecho los más útiles índices filtrados:nunca se actualizarán automáticamente. (Hablo de esto aquí, y Kimberly Tripp habla de esto aquí y aquí. Estoy seguro de que otros también han escrito sobre esto en su blog). Creo que es hora de que esto cambie. Si está de acuerdo, vote y comente el artículo de Joe Sack. (el título indica estadísticas filtradas, pero en realidad se relaciona con ambas):

  • Conexión n.º 509638:Sugerencia de cambio en las actualizaciones de estadísticas filtradas