Новость из категории: Информация

SQL Server: DMF. Сопоставление sys.dm_db_index_operational_stats и sys.dm_db_index_usage_stats. Продолжение 2

SQL Server: DMF. Сопоставление sys.dm_db_index_operational_stats и sys.dm_db_index_usage_stats. Продолжение 2

Запрос 4: уточняющие запросы

До сих пор мы рассматривали операции записи/обновления, а также поиска и просмотра. Но есть еще одна заслуживающая внимания операция чтения: уточняющие запросы (lookups). Уточняющие запросы выполняются, когда результаты возвращаются с использованием некластеризованного индекса, но не все столбцы являются частью или включенным столбцом некластеризованного индекса. Операция получает столбцы, которые являются частью некластеризованного индекса, а затем выполняет уточняющий запрос строки к данным, чтобы получить остальные столбцы, необходимые для удовлетворения запроса.

SQL Server: DMF. Сопоставление sys.dm_db_index_operational_stats и sys.dm_db_index_usage_stats. Продолжение 2
Запрос с уточняющим запросом RID

В приведенном на рисунке выше плане запроса видно, что сделан запрос, подготовлены столбцы из некластеризованного индекса (который в данном случае представляет собой уникальный некластеризованный индекс), а затем, поскольку кластеризованный индекс отсутствует, выполняется уточняющий запрос RID, чтобы удовлетворить запрос. На этот раз мы получаем результаты, более близкие к ожидаемым, как из sys.dm_db_index_operational_ stats, так и из sys.dm_db_index_ usage_stats (см. рисунки ниже).

SQL Server: DMF. Сопоставление sys.dm_db_index_operational_stats и sys.dm_db_index_usage_stats. Продолжение 2
Содержимое sys.dm_db_index_operational_stats

SQL Server: DMF. Сопоставление sys.dm_db_index_operational_stats и sys.dm_db_index_usage_stats. Продолжение 2
Содержимое sys.dm_db_index_usage_stats

DMF рабочей статистики представляет уточняющий запрос RID как одноэлементный уточняющий запрос для некластеризованного индекса для сбора данных из единственной возвращенной строки из индекса и другого одноэлементного уточняющего запроса для кучи, чтобы завершить процесс сбора данных в соответствии с запросом. Существуют также связанные блокировки страниц, применяемые как к некластеризованному индексу, так и к куче, а также блокировка строк в непастеризованном индексе. Между тем DMV статистики использования представляет действия выполненного запроса как поиск с применением некластеризоваиного индекса с последующим уточняющим просмотром в куче.

К чему приводит наличие кластеризованного индекса для таблицы? Это зависит от того, можно ли удовлетворить запрос с использованием комбинации непастеризованного индекса и ключей кластеризации.

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

Я надеюсь, эта статья поможет вам понять, как выполнение запроса отражается в sys.dm_db_index_ operational_stats и sys.dm_db_index_ usage_stats. В следующих статьях серии мы воспользуемся этими фундаментальными правилами при использовании функции динамического управления sys.dm_db_index_operational_stats в качестве инструмента для упреждающей и последующей настройки производительности.


<<К началу статьи

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх