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

Откуда:
Сообщений: 1214
Есть простой селект
Declare @Code varchar(100) 
SELECT 
 Field1 
 ....
 FieldN
FROM 
   T1 
   INNER JOIN  t2 
   ...
   INNER JOIN  tn 

  WHERE 
    tn.Code = @Code  

И есть процка, которая делает тоже самое что этот селект
  CREATE PROC SimpleRep 
    @Code varchar(100)
  AS 
 
  SELECT 
   Field1 
   ....
   FieldN
  FROM 
     T1 
     INNER JOIN  t2 
     ...
     INNER JOIN  tn 

    WHERE 
      tn.Code = @Code  


Селет работает значительно быстрее чем процка, при этом планы у них разные .

У селекта все джойны "оформлены" через нестед лупы, а в процке некоторые из них стали хэш джойнами
20 июл 17, 16:19    [20662044]     Ответить | Цитировать Сообщить модератору
 Re: Почему у процки и "аналогичного" запроса разные планы?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
это невыносимо.
20 июл 17, 16:22    [20662056]     Ответить | Цитировать Сообщить модератору
 Re: Почему у процки и "аналогичного" запроса разные планы?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
Cammomile
Селет работает значительно быстрее чем процка, при этом планы у них разные .
Попробуйте написать в процедуре
CREATE PROC SimpleRep 
    @Code varchar(100)
 AS 
 declare @Code1 varchar(100) = @Code
...
  WHERE 
      tn.Code = @Code1
20 июл 17, 16:22    [20662060]     Ответить | Цитировать Сообщить модератору
 Re: Почему у процки и "аналогичного" запроса разные планы?  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
Планы выровнялись после Дроп-Криэйт процки.

Магия статистики?
20 июл 17, 17:00    [20662219]     Ответить | Цитировать Сообщить модератору
 Re: Почему у процки и "аналогичного" запроса разные планы?  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2421
Cammomile,

магия снифинга параметров
20 июл 17, 17:03    [20662237]     Ответить | Цитировать Сообщить модератору
 Re: Почему у процки и "аналогичного" запроса разные планы?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Cammomile
Планы выровнялись после Дроп-Криэйт процки.

Магия статистики?

google: exec query faster stored procedure
это наверное самый распрастранённый вопрос, и на этом форуме поиск есть тоже
20 июл 17, 17:06    [20662248]     Ответить | Цитировать Сообщить модератору
 Re: Почему у процки и "аналогичного" запроса разные планы?  [new]
CrazyDr1v3r
Guest
TaPaK
Cammomile
Планы выровнялись после Дроп-Криэйт процки.

Магия статистики?

google: exec query faster stored procedure
это наверное самый распрастранённый вопрос, и на этом форуме поиск есть тоже


Так вот же - http://www.queryprocessor.ru/fast-in-ssms-slow-in-app-part1/
20 июл 17, 17:28    [20662329]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить