|
|
#8 |
|
Axapta
|
Почему "разумеется"? Иногда можно, иногда даже нужно, иногда нельзя. Зависит от ситуации.
Цитата:
Сообщение от Hyper
да, если делать отдельный ttsbegin/ttscommit для каждой записи, все вроде работает. ...Но мне почему-то казалось, что групповое обновление записей (скажем, 500 или 1000 в одной транзакции) на больших объемах даст ощутимый прирост производительности...И вот такой вот код уже не работает:
X++: Table1 table1Loop;
Table1 table1;
int bulk = 5000; // 5;
int i;
;
while select table1Loop
order by recId
{
if (i==0)
ttsbegin;
i++;
table1 = Table1::findRec(table1Loop.RecId, true);
table1.Field1 = strfmt("Blah %1", i);
table1.doupdate();
if (i mod bulk == 0)
{
ttscommit;
ttsbegin;
}
}
if (i>0)
ttscommit; |
|
|