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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.01.2008, 12:10   #1  
oleg_e is offline
oleg_e
Участник
 
71 / 10 (1) +
Регистрация: 12.01.2006
Адрес: Moscow
:( Оптимизация запроса
День добрый! Не подскажут ли знатоки, есть ли альтернатива по тяжелым запросам использующие exists join? Есть следующий запрос (см.ниже), использующий тяжелые таблицы (inventtrans>4 млн строк, inventdim>300 тыс, табл. А и B >500 тыс). Сейчас время отчета с использованием этого запроса более 40 мин (при выбранном периоде 1 мес)
Можно ли модифицироать запрос? Будем считать, что индексы расставлены.
Использование forcenestedloop forceselectorder ненамного сократило время.
Прошу прощения, на неформатированность запроса

while select inventTrans
where ((inventTrans.TransType == InventTransType::Purch) || (inventTrans.TransType == InventTransType::Sales))
&& (includeEstimated || ( ! includeEstimated &&
((inventTrans.StatusReceipt == StatusReceipt::None && inventTrans.StatusIssue == StatusIssue::Sold) ||
(inventTrans.StatusReceipt == StatusReceipt::Purchased && inventTrans.StatusIssue == StatusIssue::None))))
&& (inventTrans.DateFinancial
&& inventTrans.DateFinancial >= dateFrom && inventTrans.DateFinancial <= dateTo) ||
(!inventTrans.DateFinancial
&& inventTrans.DateExpected >= dateFrom && inventTrans.DateExpected <= dateTo))
join [fields] from inventTable
where inventTable.ItemId == inventTrans.ItemId &&
inventTable.ItemType != .....
join [fields] from inventDim
where inventDim.InventDimId == inventTrans.InventDimId
&& (.........)
exists join [fields] from A
where A.[X] == inventDim.[Y]
join B
where B.InventDimId == A.InventDimId
&& ((B.DateFinancial && B.DateFinancial >= dateFrom
&& B.DateFinancial <= dateTo) ||
( !B.DateFinancial && B.DateExpected >= dateFrom && B.DateExpected <= dateTo))

Последний раз редактировалось oleg_e; 31.01.2008 в 12:59.
Теги
оптимизация, производительность, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Оптимизация запроса - ranges kashperuk DAX: Программирование 13 31.01.2011 20:19
Изменить план выполнения запроса Sequel DAX: Администрирование 2 29.05.2008 15:46
Быстродействие запроса Antonuch DAX: Программирование 1 25.01.2008 15:58
Опять оптимизация запроса KpecT DAX: Программирование 3 02.11.2007 14:41
Оптимизация запроса Янка DAX: Программирование 1 27.04.2006 08:37

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

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

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