Транзакции и массовая обработка набора данных.

ЧАстые Вопросы и Ответы

Модераторы: kdv, CyberMax

Ответить
Mironico
Сообщения: 81
Зарегистрирован: 17 янв 2007, 12:23

Транзакции и массовая обработка набора данных.

Сообщение Mironico » 14 июл 2008, 12:16

Не могу сообразить как лучше поступать в таком случае.
Допустим есть обработка.


for i:=0 to Length(mas)-1 do
begin
ImportDS.Insert;
ImportDS.FieldByName('Name').asString:=mas;
ImportDS.Post;
end;

Если величина массива mas 10000 и обработка довольно длительная.
1. Сколько транзакций лучше использовать 1 или 2 для ImportDS?
2. Для ImportDS ставить Автокоммит или, если используется 2 транзакциии, 2ю коммитить после того как закончится цикл?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 14 июл 2008, 14:56

www.ibase.ru/devinfo/impexp.htm

откуда 2 транзакции?
зачем для вставки DataSet ??
массовые вставки или обновления рекомендуется оформлять в одной транзакции. коммит на каждую вставку - это тормоза.

Mironico
Сообщения: 81
Зарегистрирован: 17 янв 2007, 12:23

Сообщение Mironico » 14 июл 2008, 15:20

Ага, зразумел.
Так и думал но чет сомневался.

Ответить