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

Откуда:
Сообщений: 403
Пытался разобраться с долгим запросом. Заметил странно большие проценты. Я полагал что все проценты в сумме должны давать 100%.

К сообщению приложен файл. Размер - 18Kb
18 фев 19, 10:55    [21812635]     Ответить | Цитировать Сообщить модератору
 Re: Как объяснить огромные проценты в плане запросов?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36887
В школе меня научили, что 278682 составляет 27868200% от 1. Вас как-то по-другому учили?

leonix
Я полагал что все проценты в сумме должны давать 100%.
Когда что-то перевыполняют, проценты от плана будут выше 100.

Сообщение было отредактировано: 18 фев 19, 11:01
18 фев 19, 11:00    [21812645]     Ответить | Цитировать Сообщить модератору
 Re: Как объяснить огромные проценты в плане запросов?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
leonix,

Read @Actual of Estimate@ ну и проценты от этого. Сответсвенно перетрудился по сравнению с ожиданием
18 фев 19, 11:05    [21812653]     Ответить | Цитировать Сообщить модератору
 Re: Как объяснить огромные проценты в плане запросов?  [new]
leonix
Member

Откуда:
Сообщений: 403
Гавриленко Сергей Алексеевич,
Понятно, я совсем по другому понимал эти проценты. Думал что 100% это всё время выполнения запроса, а потом эти 100% раскидываются на все операции в запросе.
18 фев 19, 11:05    [21812655]     Ответить | Цитировать Сообщить модератору
 Re: Как объяснить огромные проценты в плане запросов?  [new]
leonix
Member

Откуда:
Сообщений: 403
Почему такое расхождение между ожиданием и фактом? Статистика не обновлена?
18 фев 19, 11:07    [21812661]     Ответить | Цитировать Сообщить модератору
 Re: Как объяснить огромные проценты в плане запросов?  [new]
leonix
Member

Откуда:
Сообщений: 403
Может индекса не хватает?
Вот запрос

SELECT
T15._Fld41531RRef,
T16.SDBL_IDENTITY AS SDBL_IDENTITY
FROM dbo._Document39928_VT41528 T15 WITH(NOLOCK)
INNER JOIN #tt119 T16 WITH(NOLOCK)
ON T16._TTC_1 = T15._Document39928_IDRRef
WHERE 
(

EXISTS(
SELECT 1 
FROM dbo._Document39928_VT39935 T17 WITH(NOLOCK)
WHERE T16._TTC_1 = T17._Document39928_IDRRef AND (((T17._Fld39970RRef IN (@P1))))) 
OR
EXISTS(
SELECT 1 
FROM dbo._Document39928_VT39935 T18 WITH(NOLOCK)
WHERE T16._TTC_1 = T18._Document39928_IDRRef AND (((T18._Fld39948RRef IN (@P2))))) 
OR 
EXISTS(
SELECT 1 
FROM dbo._Document39928_VT39935 T19 WITH(NOLOCK)
WHERE T16._TTC_1 = T19._Document39928_IDRRef AND (((T19._Fld39939RRef IN (@P3))))) 
OR 
EXISTS(
SELECT 1 
FROM dbo._Document39928_VT39935 T20 WITH(NOLOCK)
WHERE T16._TTC_1 = T20._Document39928_IDRRef AND (((T20._Fld40050RRef IN (@P4))))) 
OR 
EXISTS(
SELECT 1 
FROM dbo._Document39928_VT39935 T21 WITH(NOLOCK)
WHERE T16._TTC_1 = T21._Document39928_IDRRef AND (((T21._Fld40051RRef IN (@P5))))) 
OR 
EXISTS(
SELECT 1 
FROM dbo._Document39928_VT39935 T22 WITH(NOLOCK)
WHERE T16._TTC_1 = T22._Document39928_IDRRef AND (((T22._Fld40035RRef IN (@P6))))) 
OR 
EXISTS(
SELECT 1 
FROM dbo._Document39928_VT39935 T23 WITH(NOLOCK)
WHERE T16._TTC_1 = T23._Document39928_IDRRef AND (((T23._Fld40338RRef IN (@P7))))) 
OR 
((T15._Fld41531RRef IN (@P8)))

)
ORDER BY 2 ASC
18 фев 19, 11:26    [21812699]     Ответить | Цитировать Сообщить модератору
 Re: Как объяснить огромные проценты в плане запросов?  [new]
invm
Member

Откуда: Москва
Сообщений: 9265
leonix
Может индекса не хватает?
Для начала, человеческих мозгов не хватает. Неестественный интеллект может только nolock везде понапихать.
SELECT
 T15._Fld41531RRef,
 T16.SDBL_IDENTITY AS SDBL_IDENTITY
FROM dbo._Document39928_VT41528 T15 WITH(NOLOCK)
INNER JOIN #tt119 T16 WITH(NOLOCK)
ON T16._TTC_1 = T15._Document39928_IDRRef
WHERE 
 EXISTS(
  SELECT 1 
  FROM dbo._Document39928_VT39935 a WITH(NOLOCK)
  WHERE
   T16._TTC_1 = a._Document39928_IDRRef AND
   (
    a._Fld39970RRef = @P1 or
    a._Fld39948RRef = @P2 or
    a._Fld39939RRef = @P3 or
    a._Fld40050RRef = @P4 or
    a._Fld40051RRef = @P5 or
    a._Fld40035RRef = @P6 or
    a._Fld40338RRef = @P7
 ) or
 T15._Fld41531RRef = @P8
18 фев 19, 11:44    [21812730]     Ответить | Цитировать Сообщить модератору
 Re: Как объяснить огромные проценты в плане запросов?  [new]
Хитроглазый
Member

Откуда:
Сообщений: 504
invm,
там еще IN


leonix,
покажи на одинэсе запрос.
18 фев 19, 15:17    [21813127]     Ответить | Цитировать Сообщить модератору
 Re: Как объяснить огромные проценты в плане запросов?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Хитроглазый,
автор
invm,
там еще IN

фантастика, вы знакомы с leonix ?
18 фев 19, 15:25    [21813150]     Ответить | Цитировать Сообщить модератору
 Re: Как объяснить огромные проценты в плане запросов?  [new]
invm
Member

Откуда: Москва
Сообщений: 9265
Хитроглазый
invm,
там еще IN
И?
18 фев 19, 16:02    [21813249]     Ответить | Цитировать Сообщить модератору
 Re: Как объяснить огромные проценты в плане запросов?  [new]
listtoview
Member

Откуда:
Сообщений: 2312
TaPaK
Хитроглазый,
автор
invm,
там еще IN

фантастика, вы знакомы с leonix ?

1C такие запросы генерит
видно же
18 фев 19, 16:07    [21813270]     Ответить | Цитировать Сообщить модератору
 Re: Как объяснить огромные проценты в плане запросов?  [new]
leonix
Member

Откуда:
Сообщений: 403
Да, это 1С генерит запрос. Запроса на 1С нет. Это обработка поиск и замена значений динамический генерит такой запрос.
18 фев 19, 16:15    [21813292]     Ответить | Цитировать Сообщить модератору
 Re: Как объяснить огромные проценты в плане запросов?  [new]
Хитроглазый
Member

Откуда:
Сообщений: 504
leonix,

ну так это разовые запросы, с ними даже особо смысла разбираться нет.
27 фев 19, 19:30    [21821053]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить