Лучше использовать RecordSortedList. RecordInsertList зависит от размера буфера maximum buffer size серверной конфигурации. Перед тем как кол-во записей RecordInsertList превысит максимум, происходит передача записей из RecordInsertList в одном пакете в БД. RecordSortedList не зависит от буфера и передает все записи в одном пакете в момент вызова insertDatabase.
Производительность повышается за счет уменьшения числа обращений АОС к БД: в случае с RecordInsertList будет передано несколько пакетов в зависимости от размера буфера, в случае с RecordSortedList - один пакет. На уровне БД число вызовов insert может оставаться таким же.
Есть также несколько нюансов. Если перекрыт метод insert или таблица содержит memo или container поля, или настроены протоколирование и оповещения, то даже если использованы RecordSortedList и RecordInsertList передача записей БД будет происходит как обычно, по одному. Но есть возможность отключения выполнения insert, протоколирования и оповещений: skipDataMethods, skipDatabaseLog, skipEvents
|