Поделиться через


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