При работе с СУБД наиболее важна оптимизация операций записи на диск. Что-то где-то должно быть сброшено () в постоянное хранилище (дисководы) для завершения каждой транзакции, что ОЧЕНЬ дорого и занимает много времени. Минимизация количества транзакций и максимальное количество написанных последовательных страниц является ключом к производительности.
Если вы выполняете вставки, отправляя их оптом в рамках одной транзакции, это приведет к более эффективному поведению записи на диск, уменьшая количество операций сброса.
Моя рекомендация - ставить сообщения в очередь и периодически .. скажем, каждые 15 секунд или около того начинать транзакцию ... отправлять все вставленные в очередь вставки ... фиксировать транзакцию.
Если ваша база данных поддерживает отправку нескольких записей журнала в одном запросе / команде, это может оказать заметное влияние на производительность, когда между приложением и РСУБД имеется некоторая задержка в сети, за счет уменьшения количества обратных вызовов.
Некоторые системы поддерживают массовые операции (BCP), обеспечивая очень эффективный метод массовой загрузки данных, который может быть быстрее, чем использование запросов «вставки».
Помогает экономное использование индексов и выбор последовательных первичных ключей.
Обеспечение того, чтобы несколько экземпляров или координировали операции записи, или запись в отдельные таблицы, в некоторых случаях могло повысить пропускную способность за счет уменьшения накладных расходов на управление параллелизмом в базе данных.