C# Portal | Программирование: post #2319 — TG.ME

Не отправляйте несколько SQL-команд в базу данных последовательно.

Есть более производительный способ.

Когда нужно добавить новую запись, а затем сразу её прочитать, обычно выполняют два SQL-запроса: INSERT и SELECT.

С точки зрения выполнения всё нормально, но есть дополнительные расходы:

задержка сети и лишние обращения к базе данных.

На производительности это вполне может сказаться.

С Npgsql этого можно избежать. В нём есть пакетное выполнение запросов.

Суть в том, что несколько SQL-команд отправляются в базу данных за одно обращение вместо отдельного вызова Execute для каждой команды.

В Npgsql для этого используется NpgsqlBatch: несколько NpgsqlBatchCommand объединяются и отправляются серверу одним запросом.

Важная деталь.

Если вы сами не начали транзакцию, пакет автоматически выполняется внутри неявной транзакции.

Если одна из команд завершается с ошибкой, оставшиеся команды не выполняются, а весь пакет откатывается.

👉 @KodBlog
👍5🔥3🍾2❤1
August 13, 2026 1.8K 2 13