COMMIT
является в основном проблемой ввода-вывода, поскольку журнал транзакций (WAL) необходимо синхронизировать с диском.
Таким образом, использование субтранзакций (точек сохранения) очень вероятно повысит производительность. Но имейте в виду, что использование более 64 субтранзакций на транзакцию снова приведет к снижению производительности, если у вас есть параллельные транзакции.
Если вы можете потерять некоторые зафиксированные транзакции в случае сервера базы данных cra sh (что редко ), вы можете просто установить synchronous_commit
на off
и придерживаться множества небольших транзакций.
Другой, более сложный метод состоит в обработке строк в пакетах без использования субтранзакций и повторения всего пакета в случае проблема.