Связка вставок (транзакция) выполняется быстрее, чем каждая вставка в отдельности, я так думаю, может, нет, подскажите, кто проверяет, есть ли разница, может быть, если в таблице много индексов.
Насколько я знаю, MS SQL Server делает все обновления в рамках защиты транзакций для обеспечения целостности файлов базы данных. Если вы не обрабатываете транзакции вручную, каждый оператор превратится в собственную транзакцию. Если вы выполняете много небольших обновлений, накладные расходы на открытие и закрытие неявных транзакций могут быть причиной снижения производительности.
Если вы используете полнофункциональный механизм баз данных, такой как SQL Server, он будет обрабатывать транзакции для вас: незаметно. Но если вы хотите запускать свой код на чем-то вроде FireDB, SQLite или Hypersonic, то вам нужно будет применить подход, заключающийся в ручном развертывании транзакций в вашем приложении. Вы заметите разницу в основном во вставках и обновлениях.
Не имеет значения, есть ли одна вставка или много вставок в одной транзакции. Выполнение вставок без транзакции на самом деле не меняет этого.
Однако, добавление огромных количеств с активными индексами в эту таблицу приведет к замедлению работы, чем вы могли бы пожелать. В этом случае я предлагаю отключить индекс, выполнить массовую вставку и включить индекс по окончании.