我们现在有两个库,一个 mysql,一个 oracle,都使用 jdbc NamedParameterJdbcTemplate.batchUpdate 插入,但是 mysql 插入 5W 条数据 3S 左右,Oracle 要 300S,不知道是哪个地方有问题?有没有大佬知道
1
billlee 2020-12-19 21:38:38 +08:00
166/s, 盲猜是事务提交的问题?
|
2
heavyrainn 2020-12-21 13:46:56 +08:00
oracle 慢的话,按自己的经验,有两个点可以注意一下(针对 11g 版本)。一个是,oracle 在进行 batch 的时候记得先手动关闭 autoCommit,不然 batch 无效;另外一个是,手动调整一下 fetchsize,oracle 默认的 fetchsize 是 10,很小
|
3
xiaofan2 OP @billlee
@heavyrainn 我测试了一下 感觉是事务的问题 然后还有个操作是在 insert 语句里面添加上 /*+APPEND_VALUES(t)*/ 这个语句 虽然我也不知道是咋起作用的 但是还真是有作用... |