有什么方法可以提高insert的效率? 经常需要将txt文件中的手机号码导入到远程ORACLE数据库中然后进行操作,(号码大概100至2000个左右不等)以前都是手工导的,用pl/sql中的编辑功能然后粘进去,太痛苦了,现在想要用java实现,但发现,如果insert的话,会执行100-2000个不等的insert操作,会不会给数据库造成压力?java可以批量执行么这些insert操作么?不知道各位老大有什么其他的方法?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.批处理2.null字段不插入 我一般数千条sql insert 都没事 ,批处理 Statement st = null;sqls 是sql 语句数组 st = connection.createStatement(); for (int i = 0; i < sqls.length; i++) { st.addBatch(sqls[i]); } st.executeBatch(); 楼主如果没有业务逻辑处理,建议还是使用数据自带的导入导出工具。不过别担心这么点数据会影响数据。我100多万条记录都在跑,用java语句实现建议用prepareStatement效率提高还是比较明显的。 对于这种方式建议采取<<Oracle JDBC优化指南>>中的建议:1. 关闭自动提交模式;1. 用PreparedStatement;2. 采用批处理; 静态方法做数值相加是否存在线程安全问题 谈谈自己的失败的项目或者工作中学习中遇到最困难的问题 TargetDataLine 请教一下高手,下面的程序是怎么了?调不好 求一个检测数组里是否存在重复值的算法..... 我想写一个简单的ATM自动提款机系统,怎么开始呢? 如何优化数据库 JTable自动换行填充高度 谁能告诉我java中的debug()函数怎么用? jbuilder开发疑问??? 为什么我在提交转换中文的时候会出来这种情况??不是乱码 关于weblogic连接数据库的问题!!!!!!!!!!!
2.null字段不插入
sqls 是sql 语句数组
st = connection.createStatement();
for (int i = 0; i < sqls.length; i++) {
st.addBatch(sqls[i]);
}
st.executeBatch();
我100多万条记录都在跑,用java语句实现建议用prepareStatement
效率提高还是比较明显的。
1. 关闭自动提交模式;
1. 用PreparedStatement;
2. 采用批处理;