|
![]() |
#1 |
Moderator
|
Я пожалуй добавлю еще одну технику из этой же оперы. Допустим нам надо сделать обновление большого числа записей по хитрому алкогоритму. Поскольку хитрый алкогоритм в виде update_recordset не переписать, я иногда, когда нужна максимальная производительность любой ценой, делаю так:
1. Создаю таблицу с полями updateId (GUID), Key (может быть refRecId или salesId или что-то подобное), и полями newVal1,newVal2,newVal3 и тп 2. Далее, в цикле, вместо обновления записей основной таблицы, через RecordInsertList вставляю новые записи, засовывая в ее поля ключи основной таблицы и значимые поля с новыми значениями. 3. Затем, после recordInsertList.insertDatabase() пишу X++: update_recordset mainTable setting field1=tempTable.NewValue1,field2=tempTable.NewValue2 join tmpValuesTable where tmpValuesTable.updateId==myGuid && tmpValuesTable.key=mainTable.key Последний раз редактировалось fed; 03.07.2013 в 17:12. Причина: Стиль |
|
|
За это сообщение автора поблагодарили: Мартынов Дмитрий (1), coolibin (2). |
![]() |
#2 |
Участник
|
|
|
![]() |
#3 |
Moderator
|
|
|
|
За это сообщение автора поблагодарили: mazzy (2). |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|