AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.04.2022, 13:19   #1  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
397 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
D365FO: Тяжелый запрос в продакшне vs. в машине для разработки
Есть кастомная вьюха, основанная на нескольких других вьюхах, тоже кастомных, в т.ч. с группировками и с "computed columns". Всё это работает на таблицах с миллионами записей.

Есть форма, основанная на этой вьюхе, искользуется для выверки данных помесячно. Форма загружает записи из вьюхи только после того, как юзер выберет пару значений в фильтре (месяц и год) и нажмет Apply. Эти поля покрыты индексом в базовой таблице, в той что с миллионами записей. Другие индексы в наличии.

Проблема в следующем: на машине для разработки, где данных всего раза в два меньше, чем в продакшне, октябрь открывается, скажем, за 15 секунд, ноябрь за 30, декабрь (самый тяжелый по количеству записей) за 6 минут.

В продакшне (где, казалось бы, производительность должна быть как минимум не хуже машины разработчика), октябрь хорошо если открывается через несколько минут, а-то и не октрывается совсем, декабрь всегда без исключения зависает и через час заканчивается ошибкой "... A time-out occurred in the database while the query was executing"

Я понимаю, что вьюху лучше переписать, чтобы запросы были полегче и чтобы вместо неё в форме заполнялась и отображалась временная таблица. Тем более что общее количество записей на вывод не превышает нескольких сотен после всех группировок.

Но тысяча чертей, почему продакшн так тормозит по сравнению с обычной машиной для разработки, даже в запросах, отрабатывающих за пару десятков секунд?
Старый 02.04.2022, 13:32   #2  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Ну например - из за большей размерности данных, запрос вместо nested loop join уходит в hash join, который при плохих раскладах может раз в 10 больше времени потребовать. Или в Prod статистика битая например.
В общем - на мой взгляд есть смысл тестировать в DEV только если у вас свежая база с Prod в среду разработки перенесена.
За это сообщение автора поблагодарили: Stitch_MS (5), sukhanchik (4).
Теги
d365fo, view, производительность

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX2012, D365FO: Способы ограничения финансовых аналитик sukhanchik DAX: Функционал 7 09.03.2021 02:58
littleax: Simple Rest API in D365FO, D365F, D365SCM Blog bot DAX Blogs 0 23.06.2020 14:12
организация инфраструктуры разработки в D365FO Pandasama DAX: Программирование 11 03.09.2019 19:18
sertandev: How to receive D365FO push notifications using Azure Notification Hubs Blog bot DAX Blogs 0 04.07.2019 18:11
D365FO: Организация разработки - слияние модификаций fed DAX: Программирование 23 30.05.2018 12:32

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:56.