Не уверен, какую базу данных вы используете. Когда я запустил тест с использованием db2, я увидел следующее:
Для записи в базу данных:
1 вставка заняла 2500 микросекунд.
10 вставок заняло 6000 микросекунд. (600 микросекунд на запись)
10000 вставок заняло около 1 миллиона микросекунд. (100 микросекунд на запись)
Максимальная производительность там.
Все это означает, что при отправке сообщений возникают огромные накладные расходы, а использование пакетного метода минимизирует это. Конечно, отправка вставок / обновлений большими партиями может привести к их потере в случае сбоя приложения.
Также обратите внимание: точные цифры будут варьироваться в зависимости от вашей БД и настроек. Таким образом, вам придется найти свое собственное «сладкое пятно». Но это дает вам представление.