首页 / 更多教程 / JDBC插入优化性能对比
JDBC插入优化性能对比
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JDBC插入优化性能对比,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2930字,纯文字阅读大概需要5分钟。
内容图文
![JDBC插入优化性能对比](/upload/InfoBanner/zyjiaocheng/497/8f4858319dec4aabb3d316b9069f39ed.jpg)
/** * Statement单条插入 * @author fgq 2017年12月26日 下午6:39:05 * @param conn * @throws Exception */ public static void executeSQL(Connection conn) throws Exception { List<String> insertSql = getInsertSql(); Statement stmt = conn.createStatement(); for(String sql : insertSql){ stmt.execute(sql); } } /** * Statement批量插入 * @author fgq 2017年12月26日 下午6:39:24 * @param conn * @throws Exception */ public static void executeBatchSQL(Connection conn) throws Exception { List<String> insertSql = getInsertSql(); Statement stmt = conn.createStatement(); for(String sql : insertSql){ stmt.addBatch(sql); } stmt.executeBatch(); }
/** * PreparedStatement批量插入 * @author fgq 2017年12月26日 下午6:40:34 * @param conn * @throws Exception */ public static void batchInsertData(Connection conn) throws Exception{ String prefix = "insert into test_cost1(id,name)values(?,?)"; PreparedStatement pst = conn.prepareStatement(prefix); for(int j = 0;j<10000;j++){ pst.setString(1, UUIDUtil.getRandomUUID()); pst.setString(2, "liming"); pst.addBatch(); } pst.executeBatch(); } /** * PreparedStatement单条插入 * @author fgq 2017年12月26日 下午6:40:16 * @param conn * @throws Exception */ public static void insertData(Connection conn) throws Exception{ String prefix = "insert into test_cost1(id,name)values(?,?)"; PreparedStatement pst = conn.prepareStatement(prefix); for(int j = 0;j<10000;j++){ pst.setString(1, UUIDUtil.getRandomUUID()); pst.setString(2, "liming"); pst.executeUpdate(); } }
public static void main(String[] args) throws Exception { final String url = "jdbc:oracle:thin:@123.123.123.123:1521/orcl"; final String name = "oracle.jdbc.driver.OracleDriver"; final String user = "test"; final String password = "test"; Connection conn = null; Class.forName(name);//指定连接类型 conn = DriverManager.getConnection(url, user, password);//获取连接 if (conn!=null) { System.out.println("获取连接成功"); long startTime = System.currentTimeMillis(); insertData(conn); System.out.println("执行1000插入耗时:"+(System.currentTimeMillis() - startTime)); }else { System.out.println("获取连接失败"); } }
通过上面10000条测试结果,发现效率最高的是
batchInsertData
最慢的是
insertData
所以在进行第三方库的插入,最好选择效率最高的,而且在批量执行的时候,最好不要有数据冲突,否则执行失败,所以与业务无关的主键很重要.
JDBC插入优化性能对比
标签:time 重要 tsql jdbc 第三方库 row color ann min
本文系统来源:https://www.cnblogs.com/fxust/p/8119638.html
内容总结
以上是互联网集市为您收集整理的JDBC插入优化性能对比全部内容,希望文章能够帮你解决JDBC插入优化性能对比所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。