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?
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:
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.
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.