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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.04.2006, 07:56   #1  
Янка
Гость
 
n/a
Оптимизация запроса
Подскажите, кто сталкивался с такой проблемой! Как можно оптимизировать такой запрос:
while select sum(amount),payPeriod,sourceDate from RPayTrans group By sourceDate
where RPayTrans.payPeriod == payPeriod &&
RpayTrans.PayPeriod <= RpayParameters::PayPeriod()
exists join RPayTable
where RPayTable.payCtype == RPayTrans.payCtype &&
RPayTable.rpayTaxIncomeCode == incomeCode
exists join emplTableLocal
where emplTableLocal.emplId == RPayTrans.emplid &&
(emplTableLocal.payMainEmplId_Ru == emplId ||
emplTableLocal.emplId == emplId)
{
.....................
}
Пробовала через join count(recid) особо не помогло, все равно сканирует таблицы RPayTable и emplTable много и долго. Убирать join с emplTable не можем, так как используем поле payMainEmplId_RU. Какие есть варианты?
Старый 27.04.2006, 08:37   #2  
Peter Savintsev is offline
Peter Savintsev
Участник
 
246 / 119 (4) +++++
Регистрация: 14.12.2001
Попробуйте вместо "exists join" использовать "join TableId from". Иногда помогает. Ну и еще можно попробовать индекс по полю payMainEmplId_Ru сделать.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Оптимизация запроса - 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
Оптимизация запроса oleg_e DAX: Программирование 16 11.01.2008 10:22
Опять оптимизация запроса KpecT DAX: Программирование 3 02.11.2007 14:41

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

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

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