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 секунд!!
Прямой запрос, вставлять в код не очень хочется … .. . Подскажите в чём дело и что можно сделать?!