Определение запросов (у которых есть Lazy Spool) #791623


#0 by Alex_MA
Здравствуйте! Подскажите пожалуйста, есть ли возможность определить запросом в MS SQL Server 2008 R2 какие запросы выполняются с использованием плана запроса, в состав которого входит оператор Lazy Spool? Спасибо.
#1 by shuhard
профайлер ?
#2 by Alex_MA
использую профайлер. Вот думаю простым селектом из системных таблиц можно это выбрать с указанием на конкретный sql запрос?
#3 by Alex_MA
вот запрос который выводит эти данные - т.е. xmp план запроса. SELECT * FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle); Как из этих планов отобрать где есть table spool?
#4 by H A D G E H O G s
Первое, что пришло в голову SELECT p.* FROM sys.dm_exec_cached_plans cp CROSS apply sys.dm_exec_text_query_plan(cp.plan_handle,0,-1) p CROSS apply sys.dm_exec_sql_text(cp.plan_handle) AS q where p.query_plan like '%indexseek%'
#5 by H A D G E H O G s
как то так SELECT p.query_plan,cp.plan_handle,q.text FROM sys.dm_exec_cached_plans cp CROSS apply sys.dm_exec_text_query_plan(cp.plan_handle,0,-1) p CROSS apply sys.dm_exec_sql_text(cp.plan_handle) AS q where p.query_plan like '%indexseek%' не знаю, как пишется lazyspool в тексте плана запроса, подберите сами
#6 by H A D G E H O G s
"spool-ы могут стать большоооооой занозой в твоей заднице, Морти" © Рик
#7 by Alex_MA
Спасибо. Помогло
#8 by H A D G E H O G s
Почему то тема spool-ов не рассматривается в проблемах производительности от слова - вообще. А по факту - самая большая бяка, которая может возникнуть. Не пишите сложных запросов, не решайте алгоритмы в запросах. Запрос должен выбирать данные. 1С подложила знатную свинью целому поколению программистов, "все делайте запросом" переложив задачи программиста на sql, решив, что уж лучше sql извратится и выберет все нужное программисту, чем тупой 1Снег потащит мегастроки на сервер 1С и там их будет обрабатывать.
#9 by Дарлок
это от вэбщиков пришло. непонятно, кому вообще в голову пришло тащить такой подход в ERP-системы
#10 by spock
уж лучше sql покрутит мегастроки в своей голове, чем 100-500 клиентов к себе это потащат через сетевой интерфейс.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С