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

¿Por qué estas estadísticas de SQL Server están desactualizadas cuando está configurado para actualizarse automáticamente?

Aunque establezca las estadísticas de actualización automática en verdadero, solo se actualizarán cuando se alcance un umbral... esto es diferente para las diferentes versiones

Umbrales para SQL Server 2012 o anterior:

  1. El tamaño de la tabla ha pasado de 0 a> 0 filas

  2. El número de filas en la tabla cuando se recopilaron las estadísticas era de 500 o menos, y el colmodctr de la columna principal del objeto de estadísticas ha cambiado en más de 500 desde entonces

  3. La tabla tenía más de 500 filas cuando se recopilaron las estadísticas y el colmodctr de la columna principal del objeto de estadísticas cambió en más de 500 + 20 % del número de filas de la tabla cuando se recopilaron las estadísticas

Para SQLServer 2016, hay algunos cambios importantes y estadísticas de actualizaciones de SQL con un nuevo algoritmo (se lee con más frecuencia que las versiones anteriores)

Normalmente, las personas programan trabajos de mantenimiento durante los fines de semana y esto incluye la reconstrucción del índice/actualización de estadísticas.

Esto normalmente debería solucionar la mayoría de las bases de datos. En su caso, si observa problemas de rendimiento debido a estadísticas no válidas, puede actualizarlas manualmente. Lo hacemos una vez a la semana, pero sitios como StackOverflow lo hacen con más frecuencia

update stats tablename

Otras lecturas/referencias:
Estadísticas utilizadas por el optimizador de consultas en Microsoft SQL Server 2008
Comprender cuándo se actualizarán automáticamente las estadísticas