22.06.2021, 12:36 | #1 |
Участник
|
D365FO& Производительность EcoResProductVariantStyleDisplayOrderView
Помогите разобраться, куда копать.
Есть стандартные вьюхи EcoResProductVariantStyleDisplayOrderView (возвращает 5 тыс. записей) EcoResProductVariantSizeDisplayOrderView (5 тыс. записей) EcoResProductVariantColorDisplayOrderView (78 тыс. записей) Все три выполняются максимум 2 секунды в SQL Server Manager. Но в браузере таблиц первая зависает на минуту и больше, а вторая и третья отрабатываются за секунду-две. Сравнил метаданные EcoResProductVariantStyleDisplayOrderView и EcoResProductVariantSizeDisplayOrderView - выглядят идентично. Чем могут быть вызваны такие тормоза в EcoResProductVariantStyleDisplayOrderView, если вызов из FO? |
|
22.06.2021, 12:55 | #2 |
Участник
|
Хорошо бы поймать запрос который уходит из D365FO на SQL сервер
Возможно дело в дополнительных критериях по полям DataAreId или Partition, которые вы не учитываете при прямом обращении к View на SQL сервере. Индексы другие начинают использоваться Права на уровне записей у вас не используются (XDS)? |
|
22.06.2021, 13:52 | #3 |
Участник
|
Цитата:
Сообщение от S.Kuskov
Хорошо бы поймать запрос который уходит из D365FO на SQL сервер
Возможно дело в дополнительных критериях по полям DataAreId или Partition, которые вы не учитываете при прямом обращении к View на SQL сервере. Индексы другие начинают использоваться Права на уровне записей у вас не используются (XDS)? SELECT T1.DISTINCTPRODUCTVARIANT, T1.STYLE, T1.RETAILDISPLAYORDER, T1.PRODUCTMASTER, T1.NAME, T1.PARTITION, T1.RECID FROM ECORESPRODUCTVARIANTSTYLEDISPLAYORDERVIEW T1 WHERE ((((PARTITION=5637144576) AND (PARTITION#2=5637144576)) AND (PARTITION#3=5637144576)) AND (PARTITION#4=5637144576)) ORDER BY T1.RECID OPTION(FAST 54) Этот же запрос в SQL Server Manager справляется за 2 секунды. Никаких других параметров не задано. Прямо загадка. |
|
22.06.2021, 14:06 | #4 |
Участник
|
Вот как то обсуждали подобное поведение, там правда кастомная view была - (D365FO) огромная разница времени выполнения запроса на SQL консоли и на AOS, возможно какие то советы из той ветки вам помогут
__________________
Sergey Nefedov Последний раз редактировалось SRF; 22.06.2021 в 14:09. |
|
|
За это сообщение автора поблагодарили: Stitch_MS (2), S.Kuskov (2). |
22.06.2021, 14:30 | #5 |
Модератор
|
Планы выполнения в Query store (для выполнения в FinOps) и при выполнении в SSMS - сравнивали ?
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: Stitch_MS (2). |
23.06.2021, 17:00 | #6 |
Участник
|
Ну да, т.е. запустите DBCC FREEPROCCACHE, потом из студии, из АХ и посмотрите TOP SQL(https://github.com/TrudAX/TRUDScript...md#get-top-sql). По идее должны быть 2 разных плана с разными выполнениями.
Следующий вопрос - что можно с этим сделать Как вариант на попробовать - заменить сортировку по RecId на какое-нибудь другое поле https://github.com/TrudAX/TRUDScript...ew-based-forms |
|
|
За это сообщение автора поблагодарили: Stitch_MS (2). |
Теги |
d365fo, производительность |
|
|