powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как собрать фактические планы запросов по долгим запросам?
12 сообщений из 12, страница 1 из 1
Как собрать фактические планы запросов по долгим запросам?
    #40073069
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как лучше собрать фактические планы запросов по долгим запросам?
...
Рейтинг: 0 / 0
Как собрать фактические планы запросов по долгим запросам?
    #40073083
Кесарь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonix,

смотрите в сторону пересечения sys.dm_exec_query_stats и sys.dm_exec_sql_text(plan_handle).

Что-то типа такого, для начала:

Код: sql
1.
2.
3.
4.
select *
from sys.dm_exec_query_stats AS s1
 cross apply sys.dm_exec_sql_text(s1.sql_handle) AS s2
 cross apply sys.dm_exec_query_plan(s1.plan_handle) as s3
...
Рейтинг: 0 / 0
Как собрать фактические планы запросов по долгим запросам?
    #40073114
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня в

select * from sys.dm_exec_query_stats

запросы только за последнии пару минут.
Получается надо джоб делать и кудато складывать.
...
Рейтинг: 0 / 0
Как собрать фактические планы запросов по долгим запросам?
    #40073115
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonix
У меня в

select * from sys.dm_exec_query_stats

запросы только за последнии пару минут.
Получается надо джоб делать и кудато складывать.


Вам нужны актуальные планы завершенных запросов?
Настройте XEvent сессию. В ней же можно задать критерий "долгого запроса"
...
Рейтинг: 0 / 0
Как собрать фактические планы запросов по долгим запросам?
    #40073118
Кесарь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonix,

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


https://docs.microsoft.com/ru-ru/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store?view=sql-server-ver15
...
Рейтинг: 0 / 0
Как собрать фактические планы запросов по долгим запросам?
    #40073122
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кесарь
leonix,

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


https://docs.microsoft.com/ru-ru/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store?view=sql-server-ver15


Насколько я понял, там только плановые планы. Не фактические.
...
Рейтинг: 0 / 0
Как собрать фактические планы запросов по долгим запросам?
    #40073127
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leonix, вы DBCC FREEPROCCACHE каждые несколько минут делаете? Или у вас кэш планов забит, и планы вытесняются из него?
Или у вас адхоки в основном летят?
...
Рейтинг: 0 / 0
Как собрать фактические планы запросов по долгим запросам?
    #40073131
Кесарь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonix
Кесарь
leonix,

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


https://docs.microsoft.com/ru-ru/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store?view=sql-server-ver15


Насколько я понял, там только плановые планы. Не фактические.


Не вдаваясь в обсуждение разницы между предполагаемым и фактическим планом, замечу: вам шашечки или ехать?

Если ехать, то QS позволяет найти запросы с наибольшим временем выполнения или наибольшим физическим чтением. Что вам ещё нужно?
...
Рейтинг: 0 / 0
Как собрать фактические планы запросов по долгим запросам?
    #40073134
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggster
leonix, вы DBCC FREEPROCCACHE каждые несколько минут делаете? Или у вас кэш планов забит, и планы вытесняются из него?
Или у вас адхоки в основном летят?


DBCC FREEPROCCACHE каждые несколько минут делаете - нет. не должно это делаться.
Или у вас кэш планов забит - как это определить? может и забит. Это плохо или хорошо. Что делать если плохо.
Или у вас адхоки в основном летят - как определить что летят?
...
Рейтинг: 0 / 0
Как собрать фактические планы запросов по долгим запросам?
    #40073138
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кесарь
leonix
пропущено...


Насколько я понял, там только плановые планы. Не фактические.


Не вдаваясь в обсуждение разницы между предполагаемым и фактическим планом, замечу: вам шашечки или ехать?

Если ехать, то QS позволяет найти запросы с наибольшим временем выполнения или наибольшим физическим чтением. Что вам ещё нужно?


Мне ехать.
Я этот механизм использую.
Но там же предполагаемые планы и они сильно отличаются от факта.
Насколько я понимаю предполагаемые планы могут сильно отличаться от факта?

авторЧто вам ещё нужно?

Суть в том, чтобы проанализировать фактические планы самых длинных запросов.
У меня 3000 запросов каждую секунду.
Как вычислить самые проблемные запросы.
Ну я решил отобрать самые долгие и посмотреть их план.
Или как это делается?
...
Рейтинг: 0 / 0
Как собрать фактические планы запросов по долгим запросам?
    #40073147
Oleg_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leonix,

Если без плана - найти проблемные запросы, то в SQL Management Studio можно отчеты получать (правой кнопкой на БД => Отчеты => Пользовательские)

Хотя, наверное, не в тему..
...
Рейтинг: 0 / 0
Как собрать фактические планы запросов по долгим запросам?
    #40073236
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonix,

Но там же предполагаемые планы и они сильно отличаются от факта.
Отличаются, скорее, оценочные и фактические показатели прочитанных строк, а не сами планы.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как собрать фактические планы запросов по долгим запросам?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]