Funzionalità correlate di ottimizzazione delle query
È possibile utilizzare le funzionalità seguenti di SQL Server per l'ottimizzazione delle query in combinazione con la funzionalità degli indici mancanti:
Viste a gestione dinamica sys.dm_db_index_usage_stats e sys.dm_exec_query_stats
Ottimizzazione guidata Motore di database
sys.dm_db_index_usage_stats raccoglie informazioni sull'utilizzo degli indici esistenti in un'istanza di SQL Server. sys.dm_exec_query_stats restituisce statistiche aggregate sulle prestazioni per i piani di query memorizzati nella cache. Acquisisce inoltre informazioni quali il tempo trascorso per l'esecuzione del piano memorizzato nella cache e il numero di letture logiche e fisiche eseguite durante l'esecuzione di tali piani.
Ottimizzazione guidata Motore di database è uno strumento autonomo che analizza un intero carico di lavoro di SQL Server e genera le indicazioni per la configurazione delle strutture di progettazione fisica, ad esempio gli indici, le viste indicizzate o il partizionamento.
Nella sezione seguente viene presentato un confronto dettagliato tra Ottimizzazione guidata Motore di database e la funzionalità degli indici mancanti.
Confronto tra la funzionalità degli indici mancanti e Ottimizzazione guidata motore di database
La funzionalità degli indici mancanti è uno strumento sul lato server, semplice e sempre attivo, per l'individuazione e la correzione degli errori di indicizzazione. Ottimizzazione guidata Motore di database è invece uno strumento completo per la valutazione della progettazione fisica del database e la generazione di indicazioni relative a nuove strutture di progettazione fisica per migliorare le prestazioni. Oltre a prendere in considerazione gli indici, Ottimizzazione guidata Motore di database valuta se è necessario utilizzare le viste indicizzate o il partizionamento per migliorare le prestazioni di esecuzione delle query.
Nella tabella seguente la funzionalità degli indici mancanti e lo strumento Ottimizzazione guidata Motore di database vengono confrontati in modo più dettagliato:
Aspetto confrontato |
Funzionalità degli indici mancanti |
Ottimizzazione guidata motore di database |
---|---|---|
Modalità di distribuzione |
Sul lato server |
Sul lato client, applicazione autonoma. |
Disponibilità |
Sempre attiva |
Avviata da un amministratore di database o richiamata in uno script. |
Ambito di analisi |
Analisi rapida e ad hoc che fornisce informazioni limitate solo sugli indici mancanti. |
Analisi completa del carico di lavoro che fornisce un report completo di indicazioni sulla configurazione più appropriata per la progettazione fisica del database nel contesto del carico di lavoro preso in esame. |
Inclusione nell'analisi delle istruzioni UPDATE, INSERT e DELETE |
No |
Sì |
Inclusione nell'analisi dello spazio disponibile di archiviazione su disco |
No |
Sì |
Ordinamento delle colonne nelle indicazioni sugli indici |
No, è necessario ordinare le colonne manualmente nell'istruzione CREATE INDEX. |
L'ordinamento delle colonne viene determinato automaticamente nelle indicazioni sugli indici in base ai costi di esecuzione delle query. |
Indicazioni sugli indici cluster |
No |
Sì |
Indicazioni sugli indici di copertura |
Sì |
Sì |
Indicazioni sugli indici di non copertura |
Sì |
Sì |
Indicazioni sulle viste indicizzate |
No |
Sì |
Indicazioni sul partizionamento |
No |
Sì |
Base per le indicazioni |
Costi approssimativi dell'esecuzione delle query calcolati da Query Optimizer. |
Costi dell'esecuzione delle query stimati da Query Optimizer. |
Impatto dell'implementazione delle indicazioni |
Viene indicato l'impatto approssimativo determinato dall'aggiunta di un indice mancante. Per ulteriori informazioni, vedere sys.dm_db_missing_index_group_stats (Transact-SQL). |
Vengono generati quindici diversi report di analisi che forniscono informazioni sull'impatto dell'implementazione delle indicazioni. Per ulteriori informazioni, vedere Scelta di un report di Ottimizzazione guidata motore di database. |
L'implementazione degli indici mancanti identificati può consentire il miglioramento delle prestazioni. È possibile utilizzare la funzionalità di configurazione specificata dall'utente e la modalità di valutazione di Ottimizzazione guidata Motore di database per determinare l'impatto dell'implementazione degli indici mancanti in un intero carico di lavoro. Per ulteriori informazioni, vedere Utilizzo di Ottimizzazione guidata motore di database per l'analisi esplorativa.
Anche per un carico di lavoro con singola query, è possibile che Ottimizzazione guidata Motore di database e la funzionalità degli indici mancanti restituiscano indicazioni diverse. Ciò si verifica perché l'ordinamento non viene considerato per le colonne chiave per gli indici consigliati dalla funzionalità degli indici mancanti. Nelle indicazioni di Ottimizzazione guidata Motore di database viene invece riportato l'ordinamento delle colonne chiave per gli indici al fine di ottimizzare le prestazioni di esecuzione delle query.
Riepilogo
La funzionalità degli indici mancanti può essere utilizzata per individuare e correggere gli errori di indicizzazione, mentre lo strumento Ottimizzazione guidata Motore di database può essere utilizzato per correggere gli errori di indicizzazione e per ottimizzare l'intero carico di lavoro in esecuzione in un server. È possibile utilizzare la funzionalità degli indici mancanti per individuare i possibili indici da implementare, ma è necessario convalidarli tramite Ottimizzazione guidata Motore di database.