java开发者使用PG jdbc驱动时,可以指定reWriteBatchedInserts连接参数来加速批量操作。如果reWriteBatchedInserts=true,JDBC驱动会重写批量insert转换成多行insert,从而限制数据库的调用次数。
例如:
代码语言:javascript复制insert into foo (col1, col2, col3) values(1,2,3);
insert into foo (col1, col2, col3) values(4,5,6);
会转换成:
代码语言:javascript复制insert into foo (col1, col2, col3) values(1,2,3), (4,5,6);
如果使用正确,reWriteBatchedInserts会提升批量insert性能2-3倍。如果想学习更详细的案例,可以查看Vlad Mihalcea去年写的博客:
https://vladmihalcea.com/postgresql-multi-row-insert-rewritebatchedinserts-property/