Как я могу найти SQL-запрос для плана выполнения? - PullRequest
0 голосов
/ 02 января 2019

Некоторые программы генерируют и отправляют запросы на сервер sql (при высокой загрузке). Я хочу взять план конкретного запроса конкретного стола. Я запускаю профилировщик с «Showplan XML» и устанавливаю фильтр для TextData (например,% MyTable%) и DatabaseName. Он показывает строки с xml в TextData, которые описывают планы выполнения (для всех запросов моей таблицы). Но я знаю, что существует 5 разных SQL-запросов для этой таблицы.

Как мне сопоставить конкретный запрос с соответствующим планом без использования статистики?

1 Ответ

0 голосов
/ 02 января 2019

Есть ли причина, по которой это должно быть сделано в производственной среде?Большинство действительно плохих планов выполнения (отсутствующие индексы, вызывающие сканирование таблиц и т. Д.) Будут достаточно очевидны в среде разработчиков, где вы можете использовать всю необходимую диагностику.

В противном случае запуск SQL в кеше запросов (как в связанный вопрос кто-то еще упомянул), вероятно, окажет наименьшее влияние, поскольку он просто запрашивает системную таблицу, а не добавляет диагностику к каждому запросу.

...