Spring JDBCTemplate与Plain JDBC用于插入大量记录

san*_*ala 2 spring jdbc jdbctemplate

我们必须在多个表中插入2百万条记录,现在我们正在写入CSV文件并使用db2 import加载到数据库中.

我们想把这个逻辑改成某种JDBC.在研究多种选择时,我对Spring JDBC模板和普通JDBC感到困惑.

让我们说我想在100个表中插入100万条记录,每个表都有10万个,所有这些都是简单的JDBC语句(不准备语句,因为我不知道我在运行时处理哪个表).

无论我们选择何种系统,都需要处理多达1500万条记录以满足峰值请求.

哪个框架会更好?

Nat*_*hes 6

如果要移动大量数据,那么与使用批量复制工具(如db2import)相比,使用JDBC(或基于JDBC构建的任何库)可能是一个糟糕的选择.JDBC会慢一个数量级,因为

  • JDBC是一个非常繁琐的协议,并且

  • 通常批量复制工具在复制过程中放松约束.

时间上的差异可能是极端的:批量复制工具10分钟的使用时间可能需要数小时才能使用JDBC.你需要创建一个原型并做一些时间,并确定在你承诺这样的事情之前你将获得什么样的性能.