【发布时间】:2017-03-26 02:54:16
【问题描述】:
我应该对我的应用程序进行压力测试,我需要在一个表中记录 6000 万条记录。我正在遵循的方法是,首先我初始化 Connection 类的实例,然后使用 for 循环通过 PreparedStatement 使用该连接插入数据,然后在每个500 行插入 我正在提交连接并重置它。
使用它,我可以每分钟插入大约 150 条记录。我只是想知道是否有任何更优化的方式来执行它,以便执行所需的时间最少
【问题讨论】:
-
调查批量插入或使用 Oracle 实用程序而不是您的代码加载数据。
-
在循环中提交不会提高 Oracle 的性能 - 情况恰恰相反。只在事务结束时提交一次。
-
但是每分钟 150 行的速度方式会变慢。使用本地服务器(6 列的窄表),我每分钟可以得到大约 100 万次
-
您尝试过批量插入操作吗?与批量插入相比,它的插入速度非常快。