sys.dm_db_index_usage_stats (Transact-SQL)
Возвращает количество различных операций с индексами и время, которое было затрачено на последнее выполнение операции каждого типа.
Имя столбца |
Тип данных |
Описание |
---|---|---|
database_id |
smallint |
Идентификатор базы данных, в которой определены таблица или представление. |
object_id |
int |
Идентификатор таблицы или представления, для которых определен индекс. |
index_id |
int |
Идентификатор индекса. |
user_seeks |
bigint |
Количество операций поиска по запросам пользователя. |
user_scans |
bigint |
Количество операций просмотра по запросам пользователя. |
user_lookups |
bigint |
Количество уточняющих запросов для запросов пользователей. |
user_updates |
bigint |
Количество операций обновления по запросам пользователя. |
last_user_seek |
datetime |
Время последней операции поиска, выполненной пользователем. |
last_user_scan |
datetime |
Время последней операции просмотра, выполненной пользователем. |
last_user_lookup |
datetime |
Время последней операции поиска соответствия, выполненной пользователем. |
last_user_update |
datetime |
Время последней операции обновления, выполненной пользователем. |
system_seeks |
bigint |
Количество операций поиска по системным запросам. |
system_scans |
bigint |
Количество операций просмотра по системным запросам. |
system_lookups |
bigint |
Количество уточняющих запросов для системных запросов. |
system_updates |
bigint |
Количество операций обновления по системным запросам. |
last_system_seek |
datetime |
Время последней системной операции поиска. |
last_system_scan |
datetime |
Время последней системной операции просмотра. |
last_system_lookup |
datetime |
Время последнего системного уточняющего запроса. |
last_system_update |
datetime |
Время последней системной операции обновления. |
Замечания
Каждая отдельная операция поиска, просмотра, уточняющего запроса или обновления на заданном индексе при выполнении одного запроса засчитывается как использование этого индекса и увеличивает на единицу соответствующий счетчик в данном представлении. Данные выводятся как для операций, вызванных пользовательскими запросами, так и для операций, вызванных внутренними запросами, например при выполнении операции просмотра для сбора статистики.
Счетчик user_updates указывает уровень обслуживания индекса, зависящий от операций вставки, обновления или удаления данных базовой таблицы или представления. С помощью этого представления можно определять, какие индексы используются приложениями лишь в незначительной степени. Можно также определять, какие индексы привносят дополнительную нагрузку, связанную с обслуживанием. Стоит рассмотреть возможность удаления индексов, вызывающих дополнительную нагрузку, связанную с их обслуживанием, но не использующихся для выполнения запросов или использующихся лишь иногда.
При запуске службы SQL Server (MSSQLSERVER) счетчики сбрасываются в нуль. Кроме того, когда база данных отсоединяется или останавливается (например, если аргументу AUTO_CLOSE присвоено значение ON), из представления удаляются все строки, связанные с этой базой данных.
При использовании индекса в представление sys.dm_db_index_usage_stats добавляется соответствующая строка, если ее там еще нет. При добавлении строки ее счетчики вначале сбрасываются в нуль.
Разрешения
Требует разрешения VIEW SERVER STATE. Дополнительные сведения см. в разделе Динамические административные представления и функции (Transact-SQL).
См. также