Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Почему нет плана выполнения  [new]
Почему нет плана выполнения запр
Guest
Всем привет

Microsoft SQL Server Management Studio 9.00.4035.00
Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86)

есть два скрипта
create table #tt
(id int)
go
declare @sqlstr varchar(2000)

set @sqlstr  =
' select  4'

insert into #tt
exec (@sqlstr)

и

create table #tt
(id int)
go
declare @sqlstr varchar(2000)

set @sqlstr  =
' 
insert into #tt
select  4'

exec (@sqlstr)

почему в первом запросе actual execution plan не показывается, а во втором показывается?

Сообщение было отредактировано: 2 июн 09, 12:55
2 июн 09, 12:54    [7255426]     Ответить | Цитировать Сообщить модератору
 Re: Почему нет плана выполнения  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
а у меня вот что показывается:

К сообщению приложен файл. Размер - 0Kb
2 июн 09, 13:05    [7255491]     Ответить | Цитировать Сообщить модератору
 Re: Почему нет плана выполнения  [new]
Mayh
Guest
Паганель,
я про SSMS говорю, для просмотра планов больших запросов профайлер неудобен
2 июн 09, 13:12    [7255545]     Ответить | Цитировать Сообщить модератору
 Re: Почему нет плана выполнения  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
ага, сразу не подумал
Вам же в Management Studio надо
тогда если я делаю так
set statistics profile on
create table #tt
(id int)
go
declare @sqlstr varchar(2000)

set @sqlstr  =
' 
insert into #tt
select  4'

exec (@sqlstr)
drop table #tt
set statistics profile off
то получаю такой результат:
Rows                 Executes             StmtText                                                                                                                 StmtId      NodeId      Parent      PhysicalOp                     LogicalOp                      Argument                                                                                              DefinedValues   EstimateRows  EstimateIO    EstimateCPU   AvgRowSize  TotalSubtreeCost OutputList Warnings Type                                                             Parallel EstimateExecutions
-------------------- -------------------- ------------------------------------------------------------------------------------------------------------------------ ----------- ----------- ----------- ------------------------------ ------------------------------ ----------------------------------------------------------------------------------------------------- --------------- ------------- ------------- ------------- ----------- ---------------- ---------- -------- ---------------------------------------------------------------- -------- ------------------
1                    1                    insert into #tt
select  4                                                                                               1           1           0           NULL                           NULL                           NULL                                                                                                  NULL            1             NULL          NULL          NULL        0.01000216       NULL       NULL     INSERT                                                           0        NULL
1                    1                      |--Table Insert(OBJECT:([tempdb].[dbo].[#tt]), SET:([tempdb].[dbo].[#tt].[id] = [Expr1004]), DEFINE:([Expr1004]=(4)))  1           2           1           Table Insert                   Insert                         OBJECT:([tempdb].[dbo].[#tt]), SET:([tempdb].[dbo].[#tt].[id] = [Expr1004]), DEFINE:([Expr1004]=(4))  [Expr1004]=(4)  1             0.01          1E-06         9           0.01000216       NULL       NULL     PLAN_ROW                                                         0        1

(2 row(s) affected)

А у Вас разве результат не такой?
2 июн 09, 13:14    [7255561]     Ответить | Цитировать Сообщить модератору
 Re: Почему нет плана выполнения  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Mayh
для просмотра планов больших запросов профайлер неудобен
Ага, я кажется догадываюсь...
Вам, наверное, в "графическом" виде надо
Тогда может так устроит?

К сообщению приложен файл. Размер - 0Kb
2 июн 09, 13:19    [7255594]     Ответить | Цитировать Сообщить модератору
 Re: Почему нет плана выполнения  [new]
Mayh
Guest
Никогда не пользовался этой конструкцией, было интересно узнать что то новое. Попробовал её использовать в своей хп - мягко говоря хп стала жутко тормозить, для отладки не годится.

И всё же, непонятно, почему без добавления

set statistics profile on

плана запроса нет?
2 июн 09, 13:31    [7255673]     Ответить | Цитировать Сообщить модератору
 Re: Почему нет плана выполнения  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Mayh
Никогда не пользовался этой конструкцией
Как получить план выполнения запроса в текстовом виде?
2 июн 09, 13:33    [7255689]     Ответить | Цитировать Сообщить модератору
 Re: Почему нет плана выполнения  [new]
Mayh
Guest
Да, нужен в "графическом" виде, в хп много логики, так проще увидеть неоптимальные части и уже их проверять. Споткнулся о сабж.
2 июн 09, 13:34    [7255695]     Ответить | Цитировать Сообщить модератору
 Re: Почему нет плана выполнения  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Mayh
Попробовал её использовать в своей хп - мягко говоря хп стала жутко тормозить,
для отладки не годится.
А если Profiler-ом, тогда тормозит?
2 июн 09, 13:35    [7255705]     Ответить | Цитировать Сообщить модератору
 Re: Почему нет плана выполнения  [new]
Mayh
Guest
Паганель, да, при
set statistics profile on
хп начинает тормозить.

Наверное проще переделать скрипт динамических запросов.
2 июн 09, 13:38    [7255730]     Ответить | Цитировать Сообщить модератору
 Re: Почему нет плана выполнения  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Mayh
И всё же, непонятно, почему без добавления
set statistics profile on
плана запроса нет?
Да не знаю я
Я вообще не могу повторить то о чем Вы говорите
У меня есть:

К сообщению приложен файл. Размер - 0Kb
2 июн 09, 13:41    [7255753]     Ответить | Цитировать Сообщить модератору
 Re: Почему нет плана выполнения  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Ага, это я по рассеянности перепутал
Почему нет плана выполнения запр
почему в первом запросе actual execution plan не показывается
а я все время второй пробовал

извините, нафлудил Вам тут в теме
я не нарочно
2 июн 09, 13:46    [7255788]     Ответить | Цитировать Сообщить модератору
 Re: Почему нет плана выполнения  [new]
Mayh
Guest
Тогда вопрос остается в силе, может кто то ещё может прояснить?
2 июн 09, 13:49    [7255811]     Ответить | Цитировать Сообщить модератору
 Re: Почему нет плана выполнения  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Попытаюсь реабилитироваться
Почему не хочет показывать план студия - я не знаю

Но все-таки попытаюсь предложить "обходной вариант" (помочь чем могу то есть)
Вот этот скрипт
create table #tt
(id int)
go
declare @sqlstr varchar(2000)

set @sqlstr  =
' select 4'

insert into #tt
exec (@sqlstr)
go
drop table #tt
go
Дает у меня такую картинку (кстати, можно мышку наводить, можно в отд. файл экспортить):

К сообщению приложен файл. Размер - 0Kb
2 июн 09, 13:57    [7255873]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить