当前位置: 首页 > news >正文

做网站分辨率设置多少中国国家培训网靠谱吗

做网站分辨率设置多少,中国国家培训网靠谱吗,怎么自己做淘宝客网站,wordpress view插件在尝试过SQLite批量插入一百万条记录,执行时长高达20多分钟后,就在想一个问题,这样的性能是不可能被广泛应用的,更不可能出现在真实的生产环境中,那么对此应该如何优化一下呢? 首先分析一下批量插入的逻辑 …

在尝试过SQLite批量插入一百万条记录,执行时长高达20多分钟后,就在想一个问题,这样的性能是不可能被广泛应用的,更不可能出现在真实的生产环境中,那么对此应该如何优化一下呢?

首先分析一下批量插入的逻辑

//循环插入1,000,000条记录
for (int i = 0; i < 1000000; i++) {//执行插入操作rowsInserted = pstmt.executeUpdate();
}
//输出计时

上述代码创建一个循环,循环一百万次,每一次循环更新插入一条数据,这样一来就是对数据库操作了一百万次,虽然实现了批量操作,但是却对数据库造成了很大的开销,如果数据量再进一步扩大,此方法保不齐会让服务崩掉,所以这不是个最优解。

能不能对数据库只操作一次,就能实现数据的批量操作呢?

事务

我可以开启一个事务,把一百万次的循环插入放到一个批处理中,最后提交事务,这样一来只对数据库进行一次操作实现数据批量插入。

接下来设计代码:

import java.sql.*;public class SQLiteBatchInsert {public static void main(String[] args) {Connection conn = null;PreparedStatement pstmt = null;try {//建立数据库连接Class.forName("org.sqlite.JDBC");conn = DriverManager.getConnection("jdbc:sqlite:D:\\env\\SQLite\\data\\user.db");//设置手动提交事务conn.setAutoCommit(false);String tableName = "user";// 准备SQL语句String sql = "INSERT INTO " + tableName + " (name, age) VALUES (?,?)";pstmt = conn.prepareStatement(sql);//批量添加数据for (int i = 0; i < 1000000; i++) {pstmt.setString(1, "王五");pstmt.setString(2, "25");pstmt.addBatch();}// 记录执行开始时间double startTime = System.currentTimeMillis();//执行批处理pstmt.executeBatch();//提交事务conn.commit();//记录执行结束时间double endTime = System.currentTimeMillis();double duration = endTime - startTime;System.out.println("Batch insert successful!");System.out.println("执行时间为:"+duration/1000+"s");} catch (SQLException | ClassNotFoundException e) {e.printStackTrace();if (conn != null) {try {//如果出现异常,回滚事务conn.rollback();} catch (SQLException ex) {ex.printStackTrace();}}} finally {//关闭资源try {if (pstmt != null) pstmt.close();if (conn != null) conn.close();} catch (SQLException e) {e.printStackTrace();}}}
}

运行后发现,执行时间惊人的只有 1s 左右

请添加图片描述

为了验证这一结果,我不得不去数据库里查一下,果不其然插入成功

请添加图片描述

看来,SQLite 利用事务执行批量操作完全是个可行的方案,大大的降低了对数据库的开销,极大的减少了执行时间,效率有了质的提升。


http://www.khdw.cn/news/51873.html

相关文章:

  • 重庆学校网站推广百度关键词收录排名
  • 给周杰伦做网站50个市场营销经典案例
  • wordpress站外链接跳转页面网络舆情分析师
  • 手机怎样制作个人网站怎么关键词优化网站
  • 做视频网站服务器淘宝一个关键词要刷多久
  • wordpress 2栏主题新浪博客seo
  • 重庆商城网站建设地址网站排名推广软件
  • 怎么把自己做的网站发布出去网上互联网推广
  • 网站运营需要++做哪些工作百度账号怎么改名字
  • 网站建设公司的服务器16种营销模型
  • 百度做一个网站怎么做呢网络营销策划方案框架
  • dnf交易网站建设衡水seo培训
  • 手机信息分类网站制作seo管理
  • 什么网站做简历网站测速工具
  • 淄博做淘宝网站上海推广系统
  • 龙岗 网站建设哪收录网站排名
  • 郑州富士康附近租房长沙企业seo服务
  • 百度做网站多少钱最近一周热点新闻
  • 网站做的二维码失效了seo客服
  • 佳木斯建设局网站推广关键词外包
  • 网站建设业务员培训如何做好网络推广销售
  • 查询网站的二级域名此网站不支持下载视频怎么办
  • 手机交互网站营销策略是什么
  • 做旅游网站的关注与回复seo代码优化工具
  • 网站建设常规自适应上海今日头条新闻
  • 网站除了做流量还需要什么中国站长之家官网
  • 深圳市住房和城乡建设委员会网站企业公司网站建设
  • wordpress站点地址修改竞价推广方案
  • 金华永康义乌网站建设站长素材免费下载
  • 公司 网站建设 会计科目软件开发一般需要多少钱