Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / после переезда с 2008R2 на 2016 тупят запросы / 18 сообщений из 18, страница 1 из 1
18.02.2019, 17:20
    #39775774
Deesy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
День добрый, коллеги.

Имею "лавровских" дба-шников. надежды на них никакой. помогите куда копать чтобы разобраться.
была база на 2008R2. система тихо скатывалась в тар тарары. запросы все больше и больше тормозили. делал тупую аналитику на предмет
Код: sql
1.
2.
3.
select *
into mynewtable
from myoldtable


высчитывал время копирования по размеру выходило 38мегабайт в сек. серва на вм. постоянно пинал админов - у тех: везде цветут розы.

купили новый мощный сервак. все серваки (старый и новый) в датацентре. поставили на него esx и новый 2016 машину.

проверил io - круть 365 мегабайт в секудну. ну думал заживу. ан нет. не тут то было.

старые запросы встают раком. смотрю план - все шоколадно: обычный банальный джойн на 5 таблиц, 4 из 5 индекс сики. 1 индекс скан. но запрос подвисает на 60 сек и выдает 5400 записей. если убрать одно из условий или одну (лишнюю таблицу) то отрабатывает за 1 сек и выдает 64 000 записей.

на старом сервере подобный запрос возвращал 1.8М записей за 14 сек.

написал дба -в ответ премутация от такого кол-ва джойнов. разбивай на мелкие временные таблицы.

что делать? куда копать? планы одинаковые на обоих серверах.
...
Рейтинг: 0 / 0
18.02.2019, 17:22
    #39775778
Deesy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
индексы после рестора были пересобраны.

план в аттаче
...
Рейтинг: 0 / 0
18.02.2019, 17:39
    #39775794
Deesy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
OPTION(FORCE ORDER) заставляет работать как надо. придется вставлять в запросах.
...
Рейтинг: 0 / 0
18.02.2019, 18:13
    #39775826
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
Deesy,

если Вам не нужны новые фичи - поставьте уровень совместимости базы 110. Сервер переключит планировщик запроса в прежний режим. Но лучше разберитесь с самими запросами, статистиками и индексами.
...
Рейтинг: 0 / 0
18.02.2019, 18:25
    #39775840
SIMPLicity_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
DeesyДень добрый, коллеги.

Имею "лавровских" дба-шников. надежды на них никакой. помогите куда копать чтобы разобраться.
была база на 2008R2. система тихо скатывалась в тар тарары. запросы все больше и больше тормозили. делал тупую аналитику на предмет
Код: sql
1.
2.
3.
select *
into mynewtable
from myoldtable




старые запросы встают раком. смотрю план - все шоколадно: обычный банальный джойн на 5 таблиц, 4 из 5 индекс сики. 1 индекс скан. но запрос подвисает на 60 сек и выдает 5400 записей. если убрать одно из условий или одну (лишнюю таблицу) то отрабатывает за 1 сек и выдает 64 000 записей.

на старом сервере подобный запрос возвращал 1.8М записей за 14 сек.

написал дба -в ответ премутация от такого кол-ва джойнов. разбивай на мелкие временные таблицы.

что делать? куда копать? планы одинаковые на обоих серверах.

Похожая хрень "вылечилась" при переходе с MSSQL2000 на MSSQL2008 сама. Тут наоборот. "Они возвращаются", триллер
По-серьёзному, здесь долго мусолился разбор похожего полёта из серии "какого хрена" ,- выяснилась что проблема в том, как оптимизатор понимает статистику и в каком порядке и как строит джоины. Если не изменяет склероз. Сошлись на опциях/хинтах либо на переписывании запросов. Сам в таких случаях всовываю WITH CTE as (...) ... ,- как правило помогает...
...
Рейтинг: 0 / 0
18.02.2019, 19:53
    #39775889
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
Deesy,

А сначала протестировать апгрейд в голову мысль не пришла?

Вы статистику хоть обновили после апгрейда?
...
Рейтинг: 0 / 0
18.02.2019, 20:13
    #39775899
Deesy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
Владислав Колосов,
с фичами новыми вроде тоже неплохо. пример try_cast. грузят они данные в таблицу с полем arn numeric(23) (которое совсем не сиквенс, но зато наши сильные поставили на него кластерный индекс), а у меня в таблице, пришлось поле делать varchar(23) так как какой-то больной решил вместо номера заливать туда буквы тоже. в итоге попросил их изменить на varchar и переделать на норм индекс - тишина. "д--лы блин". вот приходится try_cast подключать

SIMPLicity_,
индексы со статистикой сразу пересобрали. но видать где-то еще имеем геморр. про cte попробую, спс. но вот судя по всему переписывание запроса с фиксацией порядка помогает. часть запросов уже полетела. а те все заладили, больше 5-ти не собираться...


a_voronin,
да ну что, вы! нам голова не для этого. мы в нее только едим. :)
тест ставили. пилили по-быстрому. все что можно быстро проверили. я кричал много раз что проблемы с перформансом, сказали переключимся там будем решать. переключили и амба...
...
Рейтинг: 0 / 0
18.02.2019, 21:23
    #39775927
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
Deesy,

План картинкой, да без текста запроса бесполезен.
Можно только сказать, что проблемы начинаются с PE_Auth_Data - оценка кардинальности очень сильно расходится с реальностью.
...
Рейтинг: 0 / 0
19.02.2019, 10:47
    #39776067
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
invm,

а вроде бы была возможность отключить предсказание кардинальности флагом трассировки?
...
Рейтинг: 0 / 0
19.02.2019, 11:14
    #39776086
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
Владислав Колосовinvm,

а вроде бы была возможность отключить предсказание кардинальности флагом трассировки?
можно переключить базу на legacy CE. Ну и TF
Trace Flag : 9481
Function: Forces the query optimizer to use the SQL Server 2012 version of the cardinality estimator when creating the query plan when running SQL Server 2014 with the default database compatibility level 120
...
Рейтинг: 0 / 0
19.02.2019, 11:20
    #39776089
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
TaPaKTrace Flag : 9481
Function: Forces the query optimizer to use the SQL Server 2012 version of the cardinality estimator when creating the query plan when running SQL Server 2014 with the default database compatibility level 120C 2016 устанавливается настройкой LEGACY_CARDINALITY_ESTIMATION для всей базы. Так же есть хинт на уровне стейтмента.
...
Рейтинг: 0 / 0
19.02.2019, 11:22
    #39776090
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
Гавриленко Сергей АлексеевичTaPaKTrace Flag : 9481
Function: Forces the query optimizer to use the SQL Server 2012 version of the cardinality estimator when creating the query plan when running SQL Server 2014 with the default database compatibility level 120C 2016 устанавливается настройкой LEGACY_CARDINALITY_ESTIMATION для всей базы. Так же есть хинт на уровне стейтмента.
а я как сказал?
...
Рейтинг: 0 / 0
19.02.2019, 12:27
    #39776116
Deesy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
спасибо господа. зареквестил пермишен на traceon ибо не хочу пока выставлять глобально на базу. сообщу.
...
Рейтинг: 0 / 0
19.02.2019, 12:58
    #39776130
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
Deesyзареквестил пермишен на traceon ибо не хочу пока выставлять глобально на базу. сообщу.Зареквестили выставить глобально на сервер (на все базы), потому что не хотите пока выставлять глобально на базу?
Однако.
...
Рейтинг: 0 / 0
19.02.2019, 13:19
    #39776144
Deesy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
вписать тф хинтов и прогнать пару запросов вроде как попроще чем сразу ставить на базу? нет?
...
Рейтинг: 0 / 0
19.02.2019, 13:22
    #39776146
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
Deesyвписать тф хинтов и прогнать пару запросов вроде как попроще чем сразу ставить на базу? нет?Угу, очевидный путь - поставить хинт в запрос.
А потом уже ставить на базу, или на весь сервер, если на запрос недостаточно (если атких много).
...
Рейтинг: 0 / 0
19.02.2019, 13:55
    #39776171
Deesy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
да. с хинтом работает вроде пока. тестирую дальше. спасибо большое
...
Рейтинг: 0 / 0
19.02.2019, 17:35
    #39776348
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
после переезда с 2008R2 на 2016 тупят запросы
Deesyзареквестил пермишен на traceon
нехилый такой пермишн потребуется.
для DBCC TRACEON надо быть сисадмином.
------
меняйте CL на базе в 100,
альтера на базу хватит.
а вы, похоже, и вовсе db_owner
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / после переезда с 2008R2 на 2016 тупят запросы / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]