30.03.2010, 17:42 | #10 |
Участник
|
Цитата:
X++: static void Job11(Args _args) { VendTrans VendTrans; VendTable VendTable; while select sum(AmountMST), sum(SettleAmountMST) from VendTrans group by RContractCode, RContractAccount, AccountNum where VendTrans.amountCur != VendTrans.settleAmountCur { VendTable = VendTable::find(VendTrans.AccountNum); info(strfmt("%1 %2 %3 %4", VendTable.AccountNum, VendTable.Name,VendTrans.RContractAccount,VendTrans.RContractCode)); } } Но это уже совсем другая история, связанная с полным отсутствием оптимизации локального функционала... =========== и если этот запрос делается внутри транзакции, то при отсутствии индекса по RContractCode может быть стоит VendTable внести в сам запрос, а не использовать метод find... Но это уже нужно смотреть в конкретный код и в план запроса... Последний раз редактировалось mazzy; 30.03.2010 в 18:00. Причина: здесь уже может быть стоит сделать join с VendTable... |
|
Теги |
executequery, query, sql, vendtrans, vendtransopen, запрос (query), как правильно |
|
|