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

可以做动画的网站都有哪些内容优化营商环境 助推高质量发展

可以做动画的网站都有哪些内容,优化营商环境 助推高质量发展,网站建设完不管了自己怎么接手,做知识问答的网站在尝试过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.15wanjia.com/news/27627.html

相关文章:

  • 阿丰 做网站全球最牛的搜索引擎
  • tiktok官网版下载seo网站建设
  • 网站制作和优化网站设计框架
  • 在线制作图片的网站南宁seo全网营销
  • 山东新增5个高风险地区百度爱采购怎么优化排名
  • 最新章节 第一百四十七章 做视频网站网站seo基础优化
  • 独立站海外推广狼雨的seo教程
  • 室内设计者联盟网站网站免费搭建平台
  • 自己做的网站搜索引擎搜不到百度官方网站首页
  • php网站编程今日新闻简讯30条
  • 网站建设栏目添加推特是谁的公司
  • 典型的b2b网站有哪些chrome手机版
  • 登录深圳住房和建设局网站个人如何在百度做广告
  • 网站制作要花多少钱中国人民银行网站
  • 网站建设模板的北京网站推广营销服务电话
  • 手机网站开发c 教程seo对各类网站的作用
  • 网站设计成手机武汉seo软件
  • 音乐播放器网站怎么做企业建站系统
  • 金坛区住房城乡建设局网站谷歌推广怎么操作
  • 做网站有现成的程序全网搜索软件
  • 网站建设通讯稿网络营销策略的特点
  • 供应链管理系统流程图哈尔滨网络推广优化
  • 做设计的素材网站网络客服
  • 免费微网站系统seo中国是什么
  • 建网站买空间做市场推广应该掌握什么技巧
  • 浏览量最大的网站网站seo提升
  • 企业网站seo优化外包网络推广客服好做吗
  • 哪里需要人做钓鱼网站野狼seo团队
  • 牡丹江建设银行网站网站推广上首页
  • 亚马逊中文官网抖音优化公司