sys.dm_db_index_usage_stats (Transact-SQL)
Restituisce i conteggi di diversi tipi di operazioni relative agli indici e l'ora dell'ultima esecuzione di ogni tipo di operazione.
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
database_id |
smallint |
ID del database in cui è definita la tabella o la vista. |
object_id |
int |
ID della tabella o della vista in cui è definito l'indice. |
index_id |
int |
ID dell'indice. |
user_seeks |
bigint |
Numero di operazioni Seek dovute a query utente. |
user_scans |
bigint |
Numero di scansioni dovute a query utente. |
user_lookups |
bigint |
Numero di ricerche tramite segnalibro eseguite da query utente. |
user_updates |
bigint |
Numero di aggiornamenti dovuti a query utente. |
last_user_seek |
datetime |
Ora dell'ultima operazione Seek utente. |
last_user_scan |
datetime |
Ora dell'ultima scansione utente. |
last_user_lookup |
datetime |
Ora dell'ultima ricerca utente. |
last_user_update |
datetime |
Ora dell'ultimo aggiornamento utente. |
system_seeks |
bigint |
Numero di operazioni Seek dovute a query di sistema. |
system_scans |
bigint |
Numero di scansioni dovute a query di sistema. |
system_lookups |
bigint |
Numero di ricerche dovute a query di sistema. |
system_updates |
bigint |
Numero di aggiornamenti dovuti a query di sistema. |
last_system_seek |
datetime |
Ora dell'ultima operazione Seek di sistema. |
last_system_scan |
datetime |
Ora dell'ultima scansione di sistema. |
last_system_lookup |
datetime |
Ora dell'ultima ricerca di sistema. |
last_system_update |
datetime |
Ora dell'ultimo aggiornamento di sistema. |
Osservazioni
Ogni operazione Seek, scansione, ricerca o aggiornamento individuale sull'indice specificato, eseguita da una query, viene conteggiata come un utilizzo dell'indice e incrementa il contatore corrispondente in questa vista. Le informazioni vengono restituite sia per le operazioni causate dalle query eseguite dall'utente che per le operazioni causate dalle query generate internamente, ad esempio le scansioni per la raccolta di statistiche.
Il contatore user_updates indica il livello di manutenzione nell'indice causato da operazioni di inserimento, aggiornamento o eliminazione nella tabella o vista sottostante. È possibile utilizzare questa vista per determinare gli indici scarsamente utilizzati dalle applicazioni. È anche possibile utilizzare la vista per determinare quali indici sono sottoposti a un overhead di manutenzione. Potrebbe essere opportuno rimuovere gli indici che comportano un overhead di manutenzione e che non sono utilizzati, o sono utilizzati solo raramente, per le query.
I contatori vengono inizializzati su un valore vuoto ad ogni avvio del servizio SQL Server (MSSQLSERVER). Inoltre, ogni volta che un database viene scollegato o arrestato (perché, ad esempio, AUTO_CLOSE è impostato su ON), tutte le righe associate al database vengono rimosse.
Quando viene utilizzato un indice per il quale non esiste alcuna riga, viene aggiunta una riga a sys.dm_db_index_usage_stats. All'aggiunta della riga, i contatori corrispondenti vengono inizialmente impostati su zero.
Autorizzazioni
È richiesta l'autorizzazione VIEW SERVER STATE. Per ulteriori informazioni, vedere Funzioni e viste a gestione dinamica (Transact-SQL).
Vedere anche