|
![]() |
#1 |
Участник
|
Лучше использовать RecordSortedList. RecordInsertList зависит от размера буфера maximum buffer size серверной конфигурации. Перед тем как кол-во записей RecordInsertList превысит максимум, происходит передача записей из RecordInsertList в одном пакете в БД. RecordSortedList не зависит от буфера и передает все записи в одном пакете в момент вызова insertDatabase.
Производительность повышается за счет уменьшения числа обращений АОС к БД: в случае с RecordInsertList будет передано несколько пакетов в зависимости от размера буфера, в случае с RecordSortedList - один пакет. На уровне БД число вызовов insert может оставаться таким же. Есть также несколько нюансов. Если перекрыт метод insert или таблица содержит memo или container поля, или настроены протоколирование и оповещения, то даже если использованы RecordSortedList и RecordInsertList передача записей БД будет происходит как обычно, по одному. Но есть возможность отключения выполнения insert, протоколирования и оповещений: skipDataMethods, skipDatabaseLog, skipEvents |
|
|
За это сообщение автора поблагодарили: sukhanchik (6), Logger (3), Pokersky09 (1). |
![]() |
#2 |
Участник
|
Цитата:
Сообщение от russ
![]() Лучше использовать RecordSortedList. RecordInsertList зависит от размера буфера maximum buffer size серверной конфигурации. Перед тем как кол-во записей RecordInsertList превысит максимум, происходит передача записей из RecordInsertList в одном пакете в БД. RecordSortedList не зависит от буфера и передает все записи в одном пакете в момент вызова insertDatabase.
Производительность повышается за счет уменьшения числа обращений АОС к БД: в случае с RecordInsertList будет передано несколько пакетов в зависимости от размера буфера, в случае с RecordSortedList - один пакет. На уровне БД число вызовов insert может оставаться таким же. |
|
|
За это сообщение автора поблагодарили: sukhanchik (6). |
Теги |
recordinsertlist, recordsortedlist |
|
|