|
Определение запросов (у которых есть Lazy Spool) |
☑ |
0
Alex_MA
20.02.17
✎
16:32
|
Здравствуйте!
Подскажите пожалуйста, есть ли возможность определить запросом в MS SQL Server 2008 R2 какие запросы выполняются с использованием плана запроса, в состав которого входит оператор Lazy Spool?
Спасибо.
|
|
1
shuhard
20.02.17
✎
16:39
|
(0) профайлер ?
|
|
2
Alex_MA
20.02.17
✎
16:41
|
(1)использую профайлер.
Вот думаю простым селектом из системных таблиц можно это выбрать с указанием на конкретный sql запрос?
|
|
3
Alex_MA
21.02.17
✎
11:23
|
вот запрос который выводит эти данные - т.е. xmp план запроса.
SELECT * FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle);
Как из этих планов отобрать где есть table spool?
|
|
4
H A D G E H O G s
21.02.17
✎
11:33
|
Первое, что пришло в голову
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
H A D G E H O G s
21.02.17
✎
11:35
|
как то так
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
H A D G E H O G s
21.02.17
✎
11:37
|
(0) "spool-ы могут стать большоооооой занозой в твоей заднице, Морти" © Рик
|
|
7
Alex_MA
21.02.17
✎
11:39
|
(5)Спасибо. Помогло
|
|
8
H A D G E H O G s
21.02.17
✎
11:41
|
Почему то тема spool-ов не рассматривается в проблемах производительности от слова - вообще. А по факту - самая большая бяка, которая может возникнуть. Не пишите сложных запросов, не решайте алгоритмы в запросах. Запрос должен выбирать данные. 1С подложила знатную свинью целому поколению программистов, "все делайте запросом" переложив задачи программиста на sql, решив, что уж лучше sql извратится и выберет все нужное программисту, чем тупой 1Снег потащит мегастроки на сервер 1С и там их будет обрабатывать.
|
|
9
Дарлок
21.02.17
✎
11:44
|
(8) это от вэбщиков пришло.
непонятно, кому вообще в голову пришло тащить такой подход в ERP-системы
|
|
10
spock
21.02.17
✎
12:07
|
(8) уж лучше sql покрутит мегастроки в своей голове, чем 100-500 клиентов к себе это потащат через сетевой интерфейс.
|
|