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

Откуда: Владивосток
Сообщений: 47
ДД.
Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов. Что смотреть?
В принципе все работает, но некоторые запросы стали сильно медленней.
Обновление статистики таблицам не помогает.
Сложилось впечатление, что проблема со сложными вложенными в несколько уровней запросами.
Пока пытаемся переписывать их через with, но возможно что-то в настройках сервера можно поменять, так как на 2012-ом все работало быстро.
20 мар 18, 04:41    [21269991]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов. Что смотреть?  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2382
Блог
KAB,

Планы сравнивали?
20 мар 18, 06:20    [21270013]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов. Что смотреть?  [new]
KAB
Member

Откуда: Владивосток
Сообщений: 47
Планы не сравнивали, так как переставили SQL на том же сервере и сейчас не с чем сравнивать.
Возможно попробуем сравнить с планами на тестовом сервере, спасибо за подсказку.
Я так думаю, что планы будут разными.
20 мар 18, 06:58    [21270028]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов.  [new]
aleks222
Guest
KAB
Пока пытаемся переписывать их через with, но возможно что-то в настройках сервера можно поменять, так как на 2012-ом все работало быстро.


With - вовсе не чудесная таблетка. А фсего-нафсего способ оформления текста запроса.

Криво написанному запросу With не поможет.

ЗЫ. Надо не планы смотреть, а головой работать. Ибо "корректно" написанный запрос работает быстро... фсегда.
20 мар 18, 07:09    [21270033]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов. Что смотреть?  [new]
KAB
Member

Откуда: Владивосток
Сообщений: 47
aleks222

ЗЫ. Надо не планы смотреть, а головой работать. Ибо "корректно" написанный запрос работает быстро... фсегда.


Запросы может были и не оптимальные, но работали с приемлемой скоростью.
После перехода некоторые стали зависать, суть вопроса почему такой эффект.
Хочется понять с чем связана проблема и по возможности исправить.
20 мар 18, 08:28    [21270108]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов. Что смотреть?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 27656
Суть Вам планы покажут.
20 мар 18, 08:47    [21270159]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов  [new]
aleks222
Guest
KAB
После перехода некоторые стали зависать, суть вопроса почему такой эффект.
Хочется понять с чем связана проблема и по возможности исправить.


Все элементарно, Ватсон!

Новый сервер = новый оптимизатор = новый план для плохого запроса.
20 мар 18, 09:33    [21270274]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов. Что смотреть?  [new]
estyk
Guest
Legacy Cardinality Estimator

https://www.brentozar.com/blitzcache/legacy-cardinality-estimator/

SQL Server 2014 introduced a brand new cardinality estimator.
20 мар 18, 09:46    [21270334]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов. Что смотреть?  [new]
KAB
Member

Откуда: Владивосток
Сообщений: 47
aleks222
Новый сервер = новый оптимизатор = новый план для плохого запроса.


Ожидалось, что на новом сервере план будет не хуже, чем на старом.
Даже для плохих запросов.
20 мар 18, 09:47    [21270338]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов. Что смотреть?  [new]
Гигабайт Мегабайтович Килобайтов
Member [заблокирован]

Откуда:
Сообщений: 5975
KAB
aleks222
Новый сервер = новый оптимизатор = новый план для плохого запроса.


Ожидалось, что на новом сервере план будет не хуже, чем на старом.
Даже для плохих запросов.

а с чего вы решили что разработчики MS SQL Servera будут делать за вас вашу работу? )
зы да в 16/17 сервере оптимизатор стал работать по - другому.
Собственая ихма - теперь оптимизатор предпочитает объединять таблицы "как все таблицы очень большие" , и отсюда начинаются затыки при объедении больших и очень маленьких таблиц, а таки если ещё и фильтр по маленкой таблице...
20 мар 18, 09:55    [21270361]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов. Что смотреть?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
KAB
aleks222
Новый сервер = новый оптимизатор = новый план для плохого запроса.


Ожидалось, что на новом сервере план будет не хуже, чем на старом.
Даже для плохих запросов.

1. Новый Cardinality Estimator более "точно" считает оценку количества строк и из этого определяет оптимальный план
2. Новые планы не "хуже" лучше, они оптимальны для сервера
3. Сервер выполняет запросы не из критерия "быстро", а оптимально по затраченым ресурсам

Обновить статистики, смотреть на медленные запросы, ну и можно вообще отключить новый CE через TF
20 мар 18, 09:56    [21270364]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов. Что смотреть?  [new]
estyk
Guest
Trace Flag 9481
20 мар 18, 09:58    [21270372]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов. Что смотреть?  [new]
Тролин
Member

Откуда:
Сообщений: 348
Забавно.... по проблеме был на курсах по 2016 в майкрософт СПБ. Они очень часто сталкиваются что у кастомеров после миграции снижение производительности. Как одно из решения снижения производительности проверьте позволяет ли лицензия итспользовать все ядра вашего железа. Вот мне интересно подпадаете ли вы под такую ерунду? )))))))
20 мар 18, 13:37    [21271260]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов. Что смотреть?  [new]
KAB
Member

Откуда: Владивосток
Сообщений: 47
Спасибо всем за помощь.
Trace Flag 9481 похоже помогает, вот статья по теме - [url=]http://www.sqlservergeeks.com/sql-server-2014-trace-flags-9481/[/url]
Но мы пошли другим путем - коллега просто переписал все проблемные запросы, указав нужные индексы хинтом и проблема решилась.
23 мар 18, 10:30    [21279785]     Ответить | Цитировать Сообщить модератору
 Re: Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов.  [new]
aleks222
Guest
KAB
Спасибо всем за помощь.
Trace Flag 9481 похоже помогает, вот статья по теме - [url=]http://www.sqlservergeeks.com/sql-server-2014-trace-flags-9481/[/url]
Но мы пошли другим путем - коллега просто переписал все проблемные запросы, указав нужные индексы хинтом и проблема решилась.


Поздравляю.
Из всех возможных граблей, вы выбрали самые увесистые.
Ждите.
23 мар 18, 11:23    [21280029]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить