Цитата:
Сообщение от
glibs
Попробовал написать джоб похожий (на стандартной функциональности только). Select один при декларировании курсора. Дольше идут вызовы управления курсором.
Либо вы чего-то не договариваете...
.
Вот метод полностью:
X++:
protected Map initRasset01Map()
{
Map _ret = new Map(Types::String, Types::Date);
Set _account01Set = this.initAccount01Set();
RAssetTable _rassetTable;
RAssetTrans _rassetTrans;
LedgerTrans _ledgerTrans;
int i, ip4, ip2, ip3;
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
{
i++;
if (_account01Set.in(_ledgerTrans.AccountNum))
{
_ret.insert(_rassetTable.AccountNum, this.getDisposalDate(_rassetTable.AccountNum));
}
}
// box::info( int2str(i) );
return _ret;
}
Ставлю точку останова в начале метода и в конце, и между 2ми этими точками включаю монитор.
Переписал на прямой запрос в той же функции, выполняется вместо 26 минут - 30 секунд.
Цитата:
Сообщение от
glibs
А какой вид у вас имеют все 4837 запроса? Они абсолютно одинаковы?
Посмотрел генерируемые запросы, вроде одинаковые вот такого вида:
SELECT A.TRANSDATE,A.RECID,A.VGP_LEDGERLINKID FROM RASSETTRANS A(INDEX(I_16077RASSETDATEIDX)) WHERE ((DATAAREAID=?) AND (((ACCOUNTNUM=?) AND (TRANSDATE<?)) AND ((((ASSETTRANSTYPE=?) OR (ASSETTRANSTYPE=?)) OR (ASSETTRANSTYPE=?)) OR (ASSETTRANSTYPE=?)))) OPTION(FAST 2)
внутри проскакивают 2-3 другого вида но непонятно к чему они относятся.
Цитата:
Сообщение от
glibs
Может у вас сам метод столько раз вызывается? Тогда не удивлюсь насчет 25 мин.