Цитата:
Сообщение от
miklenew
У меня получилось 28 и 46 секунд соответственно.
Тестировал в AX 2009. Запускал job 2 раза. У меня получился примерно тот же порядок - while select быстрее queryRun на 50%...
X++:
static void JobQR(Args _args)
{
LedgerTrans ledgerTrans;
AccountNum accountNum;
int start;
int end;
void queryWhileSelect()
{
while select ledgerTrans
{
accountNum = ledgerTrans.AccountNum;
}
}
void queryQueryRun()
{
Query q;
QueryRun qr;
LedgerTrans ledgerTransLocal;
;
q = new Query();
q.addDataSource(tablenum(LedgerTrans));
qr = new QueryRun(q);
while (qr.next())
{
ledgerTransLocal = qr.get(tablenum(LedgerTrans));
accountNum = ledgerTransLocal.AccountNum;
}
}
;
start = timenow();
queryWhileSelect();
end = timenow();
info("while " + time2str(end-start,1,1));
start = timenow();
queryQueryRun();
end = timenow();
info("queryRun " + time2str(end-start,1,1));
}