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

Откуда: glubinka
Сообщений: 4256
SELECT     dg2.dev_group_type_id, dg2.dev_group_id, dg2.dev_group_name, dg2.dev_group_l, dg2.dev_group_r,
                CASE WHEN dg2.dev_group_parentid = 0 THEN (- 1 * dg2.dev_group_type_id) ELSE dg2.dev_group_parentid END AS dev_group_parentid, dg2.dev_group_date_created,
            dev_group_auto
            , map.map_id
FROM       device_group dg1
                       JOIN device_group_type on dg1.dev_group_type_id = device_group_type.dev_group_type_id
                       JOIN device_group dg2 ON dg1.dev_group_type_id = dg2.dev_group_type_id AND dg1.dev_group_l >= dg2.dev_group_l AND
                      dg1.dev_group_l <= dg2.dev_group_r
                      left join map on dg2.dev_group_id = map.dev_group_id and dg2.dev_group_type_id = map.dev_group_type_id
--                       where dg2.dev_group_parentid = 16
GROUP BY dg2.dev_group_type_id, dg2.dev_group_id, dg2.dev_group_name, dg2.dev_group_l, dg2.dev_group_r,
                      CASE WHEN dg2.dev_group_parentid = 0 THEN (- 1 * dg2.dev_group_type_id) ELSE dg2.dev_group_parentid END, dg2.dev_group_date_created,  dev_group_auto, map_id


план с использованием where выполняется 15 sec и выдает 3000 строк
план без использования where выполняется 0 sec и выдает 20000 строк

device_group_type - 13 rows
device_group - 20K
map - 0

К сообщению приложен файл (planlepsik.ZIP - 7Kb) cкачать
15 авг 18, 19:15    [21643583]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с планом - Что подкрутить?  [new]
invm
Member

Откуда: Москва
Сообщений: 9344
Подкрутить индекс idx_device_group_tid - добавить include (dev_group_parentid)
15 авг 18, 20:17    [21643634]     Ответить | Цитировать Сообщить модератору
 Re: непонятки с планом - Что подкрутить?  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
invm,

спасибо, действительно
15 авг 18, 20:58    [21643667]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить