Показать сообщение отдельно
Старый 17.09.2013, 12:15   #24  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от russ Посмотреть сообщение
Лучше использовать RecordSortedList. RecordInsertList зависит от размера буфера maximum buffer size серверной конфигурации. Перед тем как кол-во записей RecordInsertList превысит максимум, происходит передача записей из RecordInsertList в одном пакете в БД. RecordSortedList не зависит от буфера и передает все записи в одном пакете в момент вызова insertDatabase.
Производительность повышается за счет уменьшения числа обращений АОС к БД: в случае с RecordInsertList будет передано несколько пакетов в зависимости от размера буфера, в случае с RecordSortedList - один пакет. На уровне БД число вызовов insert может оставаться таким же.
по моему все же и то и то использует вместо прямого INSERT INTO команду sp_executestatement с заранее подготовленным курсором который состоит из того же INSERT INTO. выигрыш по скорости происходит из-за того, что серверу БД не надо парсить строку SQL. никакой другой магии тут нет
За это сообщение автора поблагодарили: sukhanchik (6).