Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Perché queste statistiche di SQL Server sono obsolete, quando è impostato per l'aggiornamento automatico?

Anche se imposti le statistiche di aggiornamento automatico su true, si aggiorneranno solo quando viene raggiunta una soglia..questo è diverso per le diverse versioni

Soglie per SQL Server 2012 o versioni precedenti:

  1. La dimensione della tabella è passata da 0 a> 0 righe

  2. Il numero di righe nella tabella quando sono state raccolte le statistiche era 500 o meno e il colmodctr della colonna iniziale dell'oggetto statistiche è cambiato di oltre 500 da allora

  3. La tabella aveva più di 500 righe quando sono state raccolte le statistiche e il colmodctr della colonna iniziale dell'oggetto statistiche è cambiato di oltre il 500 + 20% del numero di righe nella tabella quando sono state raccolte le statistiche

Per SQLServer 2016, ci sono poche modifiche importanti e statistiche sugli aggiornamenti SQL con un nuovo algoritmo (letto più frequentemente rispetto alle versioni precedenti)

Normalmente le persone pianificano lavori di manutenzione durante i fine settimana e questo include la ricostruzione dell'indice/l'aggiornamento delle statistiche..

Questo normalmente dovrebbe occuparsi della maggior parte dei database. Nel tuo caso, se riscontri problemi di prestazioni dovuti a statistiche non valide, puoi aggiornarli manualmente. Lo facciamo una volta alla settimana, ma siti come StackOverflow lo fanno più spesso

update stats tablename

Ulteriori letture/riferimenti:
Statistiche utilizzate da Query Optimizer in Microsoft SQL Server 2008
Capire quando le statistiche verranno aggiornate automaticamente