22.06.2007, 07:41 | #1 |
Участник
|
Почему join запрос разбивается на подзапросы!?
Axapta 3.0 SP 3
Имеем запрос: Код: while select _rassetTable index RAssetNumIdx where _rassetTable.VGP_PropertyTax == NoYes::Yes join firstonly _rassetTrans index TransTypeIdx where _rassetTrans.AccountNum == _rassetTable.AccountNum && _rassetTrans.AssetTransType == RAssetTransType::Acquisition && _rassetTrans.TransDate <= reportDateEnd join firstonly _ledgerTrans index VGP_LedgerLinkIdx where _ledgerTrans.VGP_LedgerLinkId == _rassetTrans.VGP_LedgerLinkId && _ledgerTrans.VGP_LedgerLinkModuleRef == VGP_LedgerLinkModuleRef::RAsset && _ledgerTrans.Voucher == _rassetTrans.Voucher && _ledgerTrans.TransDate == _rassetTrans.TransDate { ……. //Не значительный код, заполняется мап } Кол-во Select 4837 !!!!!?!?!? Почему?! Запрос отрабатывает порядка 25 минут Написал такой же запрос в SQL Enterprise Manager отработал за 5 секунд!! Прямой запрос, вставлять в код не очень хочется … .. . Подскажите в чём дело и что можно сделать?!
__________________
PS. Сложно приехать в Москву, но ещё сложнее уехать отсюда. |
|
Теги |
производительность, запрос (query), ax3.0 |
|
|