DTA raccomanda di CREARE STATISTICHE


10

Ho appena eseguito una query T-SQL tramite DTA e uno dei consigli è CREARE STATISTICHE su una delle colonne che fa parte di molte query nel file di codice SQL.

La mia domanda è: in che modo le statistiche aiutano esattamente le prestazioni?

Risposte:


7

le statistiche vengono utilizzate quando viene creato il piano di esecuzione della query.

Le statistiche per l'ottimizzazione delle query sono oggetti che contengono informazioni statistiche sulla distribuzione dei valori in una o più colonne di una tabella o vista indicizzata. Query Optimizer utilizza queste statistiche per stimare la cardinalità o il numero di righe nel risultato della query. Queste stime della cardinalità consentono a Query Optimizer di creare un piano di query di alta qualità. Ad esempio, Query Optimizer potrebbe utilizzare le stime di cardinalità per scegliere l'operatore di ricerca dell'indice anziché l'operatore di scansione dell'indice più dispendioso in termini di risorse e, in tal modo, migliorare le prestazioni delle query.

Vedere http://msdn.microsoft.com/en-us/library/ms190397.aspx per maggiori dettagli.


1
ottimo collegamento e descrizione. È sempre utile avere statistiche create su tabelle che vengono interrogate spesso?
Thomas Stringer,

sì, dobbiamo essere sicuri che le statistiche per le tabelle più leggibili siano sempre adeguate. Se la tabella è ad alta intensità di scrittura, è possibile che sia necessario aggiornare le statistiche, ad esempio ogni notte.
Alex_L

2
@ Surfer513 - fai attenzione: la creazione di statistiche può avere un effetto dannoso. Le migliori informazioni che stai fornendo al pianificatore possono indurlo a scegliere un percorso di esecuzione diverso e poiché questo è un gioco di probabilità, è possibile che questo percorso sia più lento (anche se è probabile che sia più veloce in generale). In altre parole, su un database di produzione, test prima di implementare.
Jack dice di provare topanswers.xyz il

7

Se DTA ha raccomandato una statistica a colonna singola, è necessario che le statistiche di creazione automatica siano disattivate? La creazione automatica creerà automaticamente le statistiche su qualsiasi colonna utilizzata in un predicato, quindi in genere è una buona idea lasciarlo acceso. Controlla lo stato dell'aggiornamento automatico per questo database, che di solito dovrebbe essere attivo.

Uno dei migliori utilizzi di DTA è per identificare statistiche multi-colonna mancanti, che la creazione automatica non costruirà. Ma per la singola colonna, la creazione automatica dovrebbe prendersi cura di loro per te.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.