21.02.2016, 15:54 | #1 |
Участник
|
Ax 2012 R3 Kernel 6.3.1000.309 Скорость выполнения отчета падает
Всем добрый день, столкнулась с такой проблемой в AX 2012 R3. Есть стандартный отчет - класс TaxReport. Запускаем его с галкой Update, это значит, что перед выводом самого отчета на экран выполняется некая обработка записей в таблице TaxTrans. Отчет необходимо вывести за период в квартал, это примерно 1 млн записей в TaxTrans. Запущенный за три месяца отчет зависает и никогда не заканчивается (ну по крайней мере за 3 дня не сформировался). Пробовала сформировать отчет за 1 день, работает, за пять дней - работает, за две недели - зависает. В методе UpdateAndPostTaxTrans мы бежим по TaxTrans-у в указанном периоде и обрабатываем каждую выбранную запись. Поставила счетчик и останавливаю обработку каждые 10000 записей, заметила такую особенность, что с каждой 10 тыс. записей процесс замедляется, то есть обработка первых 70 тыс. записей прошла за час, в следующий час обработались еще 30 тыс. записей, дальше 10 тыс. записей уже за полчаса, следующие 10 тыс. записей уже за 45 минут, и так далее по нарастающей. С чем это может быть связано? куда копать?
|
|
21.02.2016, 17:51 | #2 |
MCTS
|
Данный конкретный отчет не знаю, но есть 2 варианта оптимизации, которые подходят для любого отчета:
1. Не делать update записей во время формирования отчета, а делать в момент, когда в системе появляются данные для этого update. 2. Отчеты по миллионам строк лучше формировать с помощью кубов, тогда для пользователя запуск отчета будет за несколько секунд.
__________________
I could tell you, but then I would have to bill you. |
|
|
|