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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.12.2017, 14:59   #1  
PMS is offline
PMS
Участник
 
54 / 29 (1) +++
Регистрация: 25.02.2005
Адрес: Санкт-Петербург
Параметр Scroll Option при создании курсора sp_cursorprepexec
Добрый день!

Ax 4.0, база данных SQL Server 2008 R2.

При создании курсора в БД SQL аксапта пользуется процедурой sp_cursorprepexec, создавая запрос примерно такого вида:

X++:
declare @p1 int
set @p1=-1
declare @p2 int
set @p2=0
declare @p5 int
set @p5=4098
declare @p6 int
set @p6=8193
declare @p7 int
set @p7=0
exec sp_cursorprepexec @p1 output,
                       @p2 output,
                       N'@P1 nvarchar(8)',
                       N'SELECT ... FROM LEDGERTRANS A,LEDGERJOURNALTRANS B WHERE ((A.DATAAREAID=@P1) ...',
                       @p5 output,
                       @p6 output,
                       @p7 output,
                       N'dat'
select @p1, @p2, @p5, @p6, @p7
в параметре @p5 в процедуру передаются параметры прокрутки для создаваемого курсора (scroll options).

Вопрос в том, возможно ли как-то влиять на этот параметр настройками или аксапта сама решает какие значения туда подставлять?

Проблема возникла в небольшом отчете. В боевом приложении отчет стал страшно тупить. Однако в тестовом приложении отрабатывает моментально. Код обоих отчетов в приложениях одинаков. База и приложение синхронизировались относительно недавно (где-то месяц назад).

Расследование с помощью профайлера показало, что на боевом приложении в этот параметр передается значение:
@p5 = 4098, т.е. сумму флагов DYNAMIC | PARAMETERIZED_STMT.

В тестовом приложении в этот параметр передается значение:
@p5 = 20496, т.е. сумму флагов FAST_FORWARD | PARAMETERIZED_STMT | AUTO_CLOSE.

Разный набор флагов кардинально меняет план исполнения запроса, что приводит к замедлению исполнения.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
The right cloud option for your business sukhanchik DAX Blogs 6 26.02.2017 17:26
emeadaxsupport: Installation of MS Dynamics AX 2009 SP 1 on Windows XP SP 3 Blog bot DAX Blogs 0 22.06.2014 21:16
atinkerersnotebook: Process Multiple Records At Once By Using The Multi-Select Option Blog bot DAX Blogs 0 03.03.2014 15:11
emeadaxsupport: Details and workarounds for the Split based on delivery information option for purchase orders that was removed in Microsoft Dynamics AX 2012. Blog bot DAX Blogs 0 07.11.2013 00:11
X++: New Option to Log X++ Max-Length String Truncation Blog bot DAX Blogs 0 07.10.2011 04:12

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:54.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.