Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
KAB Member Откуда: Владивосток Сообщений: 53 |
ДД. Перешли с SQL 2012 на SQL 2017 замедлилось выполнение некоторых запросов. Что смотреть? В принципе все работает, но некоторые запросы стали сильно медленней. Обновление статистики таблицам не помогает. Сложилось впечатление, что проблема со сложными вложенными в несколько уровней запросами. Пока пытаемся переписывать их через with, но возможно что-то в настройках сервера можно поменять, так как на 2012-ом все работало быстро. |
20 мар 18, 04:41 [21269991] Ответить | Цитировать Сообщить модератору |
Павел Воронцов Member Откуда: Новосибирск Сообщений: 2390 Блог |
KAB, Планы сравнивали? |
20 мар 18, 06:20 [21270013] Ответить | Цитировать Сообщить модератору |
KAB Member Откуда: Владивосток Сообщений: 53 |
Планы не сравнивали, так как переставили SQL на том же сервере и сейчас не с чем сравнивать. Возможно попробуем сравнить с планами на тестовом сервере, спасибо за подсказку. Я так думаю, что планы будут разными. |
20 мар 18, 06:58 [21270028] Ответить | Цитировать Сообщить модератору |
aleks222
Guest |
With - вовсе не чудесная таблетка. А фсего-нафсего способ оформления текста запроса. Криво написанному запросу With не поможет. ЗЫ. Надо не планы смотреть, а головой работать. Ибо "корректно" написанный запрос работает быстро... фсегда. |
||
20 мар 18, 07:09 [21270033] Ответить | Цитировать Сообщить модератору |
KAB Member Откуда: Владивосток Сообщений: 53 |
Запросы может были и не оптимальные, но работали с приемлемой скоростью. После перехода некоторые стали зависать, суть вопроса почему такой эффект. Хочется понять с чем связана проблема и по возможности исправить. |
||
20 мар 18, 08:28 [21270108] Ответить | Цитировать Сообщить модератору |
skyANA Member Откуда: Зеленоград Сообщений: 28368 |
Суть Вам планы покажут. |
20 мар 18, 08:47 [21270159] Ответить | Цитировать Сообщить модератору |
aleks222
Guest |
Все элементарно, Ватсон! Новый сервер = новый оптимизатор = новый план для плохого запроса. |
||
20 мар 18, 09:33 [21270274] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
KAB Member Откуда: Владивосток Сообщений: 53 |
Ожидалось, что на новом сервере план будет не хуже, чем на старом. Даже для плохих запросов. |
||
20 мар 18, 09:47 [21270338] Ответить | Цитировать Сообщить модератору |
Гигабайт Мегабайтович Килобайтов Member [заблокирован] Откуда: Сообщений: 5975 |
а с чего вы решили что разработчики MS SQL Servera будут делать за вас вашу работу? ) зы да в 16/17 сервере оптимизатор стал работать по - другому. Собственая ихма - теперь оптимизатор предпочитает объединять таблицы "как все таблицы очень большие" , и отсюда начинаются затыки при объедении больших и очень маленьких таблиц, а таки если ещё и фильтр по маленкой таблице... |
||||
20 мар 18, 09:55 [21270361] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
1. Новый Cardinality Estimator более "точно" считает оценку количества строк и из этого определяет оптимальный план 2. Новые планы не "хуже" лучше, они оптимальны для сервера 3. Сервер выполняет запросы не из критерия "быстро", а оптимально по затраченым ресурсам Обновить статистики, смотреть на медленные запросы, ну и можно вообще отключить новый CE через TF |
||||
20 мар 18, 09:56 [21270364] Ответить | Цитировать Сообщить модератору |
estyk
Guest |
Trace Flag 9481 |
20 мар 18, 09:58 [21270372] Ответить | Цитировать Сообщить модератору |
Тролин Member Откуда: БСП Сообщений: 364 |
Забавно.... по проблеме был на курсах по 2016 в майкрософт СПБ. Они очень часто сталкиваются что у кастомеров после миграции снижение производительности. Как одно из решения снижения производительности проверьте позволяет ли лицензия итспользовать все ядра вашего железа. Вот мне интересно подпадаете ли вы под такую ерунду? ))))))) |
20 мар 18, 13:37 [21271260] Ответить | Цитировать Сообщить модератору |
KAB Member Откуда: Владивосток Сообщений: 53 |
Спасибо всем за помощь. Trace Flag 9481 похоже помогает, вот статья по теме - [url=]http://www.sqlservergeeks.com/sql-server-2014-trace-flags-9481/[/url] Но мы пошли другим путем - коллега просто переписал все проблемные запросы, указав нужные индексы хинтом и проблема решилась. |
23 мар 18, 10:30 [21279785] Ответить | Цитировать Сообщить модератору |
aleks222
Guest |
Поздравляю. Из всех возможных граблей, вы выбрали самые увесистые. Ждите. |
||
23 мар 18, 11:23 [21280029] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |