Finalmente, a partire dal Service Pack 1 di SQL Server 2008 R2, cambia il meccanismo di aggiornamento delle statistiche !

Come descritto molto molto bene in questo articolo di Igor Pagliai di Microsoft, finora la soglia che scatenava l’auto aggiornamento delle statistiche su tabelle con più di 500 records era fissa al 20% del numero di righe (più 500). Questo comporta, su tabelle molto grandi, la possibilità che SQL Server non scateni mai l’auto aggiornamento delle statistiche, con evidenti ripercussioni sui piani di esecuzione delle query!

A partire dal SP1 di SQL Server 2008 R2 questa soglia diventa dinamica, calcolata cioè sul numero di righe presenti nella tabella. Ancora l’algoritmo di calcolo del valore di soglia non è conosciuto, ma dai test che Igor riporta nell’articolo sembra che si abbassi con il crescere del numero di records presenti (ad esempio è l’1% per 10 milioni di records e decresce allo 0,3% per 100 milioni di records).

Questa funzionalità non è abilitata di default, ma va “accesa” introducendo nei parametri di avvio di SQL Server il flag –T2371 e riavviando il server.

Comments are closed.

About me

  • Danilo Dominici
  • Send mail to the author(s) Email
  • Skype
  • View my profile on LinkedIn

Tags

Calendar

<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

Archives

Blogroll

Subscribe to this weblog's RSS feed with SharpReader, Radio Userland, NewsGator or any other aggregator listening on port 5335 by clicking this button.

Statistics

Total Posts: 121
This Year: 1
This Month: 0
This Week: 0
Comments: 19