Цитата:
Сообщение от
Hyper
Оптимальным решением было бы разбить таблицу на, скажем, 70 кусков, т.е. изменить все записи за 70 транзакций.
Не знаю, сработает ли это на третьей версии, но на 2009ой такое выражение работает:
Код:
for(i=0;i<70;i++)
{
ttsbegin;
while select forupdate table1
where (table1.recid mod 70)==i
{
....
table1.update();
}
ttscommit;
}
Поскольку на больших объемах данных, recid распределены достаточно равномерно, можно поделить объем на 70 почти одинаковых кусков.