背景
使用jdbc batch批量insert时,批量size怎样取较合适。
总结
- 关闭自动提交,即使用事务效率更高12。
- 批量的好处是减少网络住返。所以如果你的数据库是应用服务器的本地数据库就没有意义做批量。随着批处理大小的增加,回报会逐渐减少,因为网络等待所花费的总时间会迅速减少,因此,不需要强调批处理尽可能大。如果要批量加载数据,请认真考虑改用copy API2,这是pg(postgreSQL)的,其它数据库不清楚。也许有最大参数量的限制,例如pg是用两个字节的整数来表示,也就是327683。
- addBatch和executeBatch为您提供了执行批插入的机制,但你仍需求自己设置每次executeBatch的大小,这个大小与你的内存有关,要自己试。批处理大小越大,运行速度就越快,但太大会导致内存不足,速度会减慢或失败4。