sys.dm_db_missing_index_details (Transact-SQL)

 

ПРИМЕНЯЕТСЯ К:даSQL Server (начиная с 2008)даБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data Warehouse

Возвращает подробные сведения об отсутствующих индексах, за исключением пространственных индексов.

Динамические административные представления в среде База данных SQL Azure не могут предоставлять информацию, которая может повлиять на автономность базы данных, или информацию о других базах данных, к которым имеет доступ пользователь. Чтобы избежать предоставления этих сведений, все строки, содержащие данные, не принадлежащие к подключенному клиенту, фильтруются.

Имя столбцаТип данныхDescription
index_handleintИдентифицирует специфический отсутствующий индекс. Этот идентификатор уникален для сервера. index_handle является ключевым для данной таблицы.
database_idsmallintИдентифицирует базу данных, в которой находится таблица с отсутствующим индексом.
object_idintИдентифицирует таблицу, в которой отсутствует индекс.
equality_columnsnvarchar(4000)Список столбцов с разделителями-запятыми, соответствующих предикатам равенства в форме:

 Таблица.столбец =constant_value
inequality_columnsnvarchar(4000)Список столбцов с разделителями-запятыми, который соответствует предикатам неравенства, например предикатам в форме:

 Таблица.столбец > constant_value

Любой оператор сравнения, кроме «=», выражает неравенство.
included_columnsnvarchar(4000)Список столбцов с разделителями-запятыми, необходимых в качестве столбцов для запроса. Дополнительные сведения о или включенных столбцах см. в разделе Создание индексов с включенными столбцами.

Для индексов, оптимизированных для памяти (оба хэширования и оптимизированных для памяти некластеризованный), игнорировать included_columns. Все столбцы таблицы включаются в каждый индекс с оптимизацией для памяти.
инструкцииnvarchar(4000)Имя таблицы, в которой отсутствует индекс.

Сведения, возвращаемые функцией sys.dm_db_missing_index_details обновляется, если запрос оптимизирован оптимизатором запросов и не сохраняются. Сведения об отсутствующих индексах хранятся только до перезапуска SQL Server. Администраторы базы данных должны периодически делать резервные копии сведений об отсутствующих индексах, чтобы сохранить их после перезагрузки сервера.

Чтобы определить, какие группы специфический отсутствующий индекс является частью, можно выполнить запрос sys.dm_db_missing_index_groups динамическое административное представление, объединив ее с sys.dm_db_missing_index_details на основе index_handle столбца.

Для преобразования сведений, возвращенных sys.dm_db_missing_index_details инструкции CREATE INDEX для индексов, оптимизированных для памяти и на диске, столбцы равенства должны быть помещены перед столбцами неравенства, а вместе они должны образовать индекс ключа. Включенные столбцы должны быть добавлены в инструкцию CREATE INDEX с помощью предложения INCLUDE. Чтобы определить эффективный порядок столбцов равенства, расположите их на основе их выборности, перечисляя наиболее выбираемые столбцы первыми (крайние левые в списке столбцов).

Дополнительные сведения об индексах, оптимизированных для памяти см. в разделе индексы для таблиц, оптимизированные для памяти.

Если транзакция создает или удаляет таблицу, то строки, содержащие сведения отсутствующих индексов об удаленных объектах, удаляются из данного объекта DMO, сохраняя согласованность транзакций.

Пользователям необходимо предоставить разрешение VIEW SERVER STATE или любое разрешение, которое подразумевает разрешение VIEW SERVER STATE, чтобы выполнить запрос к данному динамическому административному представлению.

sys.dm_db_missing_index_columns ( Transact-SQL и #41;
sys.dm_db_missing_index_groups ( Transact-SQL и #41;
sys.dm_db_missing_index_group_stats ( Transact-SQL и #41;

Добавления сообщества

ДОБАВИТЬ
Показ: