Condividi tramite


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).