Sto cercando di comprendere meglio (concettualmente) la relazione tra statistiche, piani di esecuzione, esecuzione di procedure memorizzate.
Sono corretto nel dire che le statistiche vengono utilizzate solo durante la creazione del piano di esecuzione per una procedura memorizzata e non vengono utilizzate nel contesto di esecuzione effettivo? In altre parole, se questo è vero, una volta creato il piano (e supponendo che sia riutilizzato correttamente), quanto sono importanti le statistiche "aggiornate"?
Sono stato particolarmente motivato da un articolo che ho letto ( Statistiche, stime delle righe e colonna della data crescente ) che descrive uno scenario molto simile a quello che incontro quotidianamente con diversi database dei nostri clienti.
Abbiamo una colonna data / ora crescente in una delle nostre tabelle più grandi che interroghiamo regolarmente utilizzando una specifica procedura memorizzata.
Come evitare che i piani di esecuzione diventino obsoleti quando si aggiungono centomila righe al giorno?
Se aggiorniamo frequentemente le statistiche per combattere questo problema, avrebbe senso utilizzare il suggerimento OPTION (RECOMPILE) sulla query di questa procedura memorizzata?
Qualsiasi consiglio o raccomandazione sarebbe apprezzato.
Aggiornamento : sto usando SQL Server 2012 (SP1).
RECOMPILE
non provocherebbe comunque un aggiornamento delle statistiche.