mysql 控制每次批量插入5w条记录思路

2023-11-05

http://blog.csdn.net/jianjun4833/article/details/71170113

由于业务中使用到word分词,所以数据量比较大,需要把分出来的结果插入到数据库,每次插入1条的话,非常慢,所以使用批量插入

具体思路如下:

[java]  view plain  copy
  1. <span style="white-space:pre">          </span>long start=System.currentTimeMillis();  
  2. <span style="white-space:pre">          </span>if(keyWordList!=null&&!keyWordList.isEmpty()){  
  3. <span style="white-space:pre">              </span>//最终插入的条数  
  4. <span style="white-space:pre">              </span>Integer effectRow = 0;  
  5. <span style="white-space:pre">              </span>//总共需要插入的条数  
  6. <span style="white-space:pre">              </span>int totalNum=keyWordList.size();  
  7. <span style="white-space:pre">              </span>System.out.println("keyWordList总长度:"+totalNum);  
  8. <span style="white-space:pre">              </span>//每次插入的条数  
  9. <span style="white-space:pre">              </span>int onceNum=50000;  
  10. <span style="white-space:pre">              </span>for(int i=onceNum;i<totalNum;i+=onceNum){  
  11. <span style="white-space:pre">                  </span>effectRow += keyWordService.insertBatch(keyWordList.subList(i-onceNum, i));  
  12. <span style="white-space:pre">                  </span>System.out.println("循环次数:"+i);  
  13. <span style="white-space:pre">              </span>}  
  14. <span style="white-space:pre">              </span>effectRow += keyWordService.insertBatch(keyWordList.subList(totalNum/onceNum*onceNum, totalNum));  
  15. <span style="white-space:pre">              </span>long end=System.currentTimeMillis();  
  16. <span style="white-space:pre">              </span>System.out.println("成功插入关键词:"+effectRow+";所用时间:"+(end-start)/1000+"秒");  
  17. <span style="white-space:pre">          </span>}  
优化后的结果很明显:

keyWordList总长度:96221
循环次数:50000
成功插入关键词:96221;所用时间:4秒
keyWordList总长度:38314
成功插入关键词:38314;所用时间:1秒
keyWordList总长度:161874
循环次数:50000
循环次数:100000
循环次数:150000
成功插入关键词:161874;所用时间:6秒


各位高人如有其他好的方法可以一起探讨


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql 控制每次批量插入5w条记录思路 的相关文章

  • 哈希密码字段使用什么数据类型以及长度?

    我不确定密码哈希是如何工作的 稍后将实现 但现在需要创建数据库模式 我正在考虑将密码限制为 4 20 个字符 但据我了解 加密后哈希字符串的长度将有所不同 那么 如何将这些密码存储在数据库中呢 更新 仅使用哈希函数不足以存储密码 你应该阅读
  • 传递自定义类型查询参数

    如何接受自定义类型查询参数 public String detail QueryParam request final MYRequest request 上面的行在启动服务器时出现错误 jersey server model ModelV
  • 如何通过 MySQL Workbench 或 CLI 或 MySQLWeb 数据库管理应用程序连接到 Pivotal Cloud Foundry (PCF) 上的 MySQL 服务?

    我有一个Spring Boot based REST部署在的应用程序Pivotal Cloud Foundry PCF 并且工作正常 但是这个 REST 应用程序到目前为止还没有任何数据库连接 因此 我决定安装MySQL服务于PCF从市场上
  • 递归取消 allOf CompletableFuture

    如果我有 CompletableFuture
  • java:为什么主线程等待子线程完成

    我有一个简单的java程序 主线程 main 创建并启动另一个线程t class T extends Thread Override public void run while true System out println Inside
  • java.exe 以非零退出值 1 结束

    只是为了开始 我并不是真正尝试从 Android 中的 xlsx 文件中读取单元格 我已经尝试了几乎所有我在 Google 上搜索到的内容 但是每次 在两台不同的 PC 上 都是 Java 1 7 0 79 当我尝试构建 运行 这个应用程序
  • 为休息服务实施 JUnit 测试

    我必须为我的休息服务实现一些 JUnit 测试 例如 这是我的休息服务之一 Path dni fe public class HelloWorld POST Path home Consumes MediaType APPLICATION
  • 如何获取 JDBC 中 UPDATE 查询影响的所有行?

    我有一项任务需要使用更新记录PreparedStatement 一旦记录被更新 我们知道更新查询返回计数 即受影响的行数 但是 我想要的不是计数 而是受更新查询影响的行作为响应 或者至少是受影响的行的 id 值列表 这是我的更新查询 UPD
  • 始终将双精度舍入

    我怎么总是能把一个double to an int 并且永远不要将其四舍五入 我知道Math round double 但我希望它始终向上舍入 所以如果是的话3 2 四舍五入为 4 您可以使用Math ceil method 请参阅Java
  • 如何在 JmsMessagingTemplate.sendAndReceive 上设置等待超时

    我在 MVC 控制器中使用 JmsMessagingTemplate 的 sendAndReceive 但如果没有发送回复消息 它似乎会永远等待回复 该文档指出 返回 回复 如果无法接收消息 例如由于超时 则可能为 null 然而 我只是不
  • 在 Eclipse RCP 应用程序中禁用插件贡献

    我经常遇到这个问题 但尚未找到解决方案 每当我编写一个新的基于 Eclipse RCP 的应用程序并包含来自 Eclipse 平台的插件时 我都会 继承 其中一些插件的 UI 贡献 大多数贡献 菜单项 键盘快捷键 属性页 都很有用 但有时我
  • 为什么我在 WinForms 列表框中得到“System.Data.DataRowView”而不是实际值?

    每当我运行代码并尝试查看highscore我在列表框中得到的只是System Data DataRowView 谁能明白为什么吗 Code MySqlConnection myConn new MySqlConnection connStr
  • 向Java类库添加函数

    我使用的 Java 类库在很多方面都不完整 有很多类我认为应该内置其他成员函数 但是 我不确定添加这些成员函数的最佳实践 让我们调用不足的基类A class A public A long arbitrary arguments publi
  • log4j.properties 在 Wildfly 上无法正常工作

    我的类路径中有一个 log4j properties 文件 它位于 APP XX jar log4j properties 位置 我注意到在ear文件中我还可以在lib文件夹中找到log4j 1 2 17 jar 但无论我在 log4j p
  • 线程数组?

    所以我在理解如何避免线程的顺序执行时遇到了问题 我试图创建一个线程数组并在单独的循环中执行 start 和 join 函数 这是我现在拥有的代码示例 private static int w static class wThreads im
  • 在 Spring MVC 中将请求写入文件

    我希望能够将整个请求写入 Spring MVC 控制器中的文件 我已尝试以下操作 但即使我使用大量参数发出 POST 请求 文件也始终为空 RequestMapping method RequestMethod POST value pay
  • 如果 Modelmapper 中的整个属性为空,如何排除它们

    ModelMapper 是否 http modelmapper org http modelmapper org 支持什么排除属性 如果该值为空 我刚刚找到了 PropertyMap 但这对我来说是一种限制 因为我必须描述我想要的特定属性
  • 如何更改 JAX-WS Web 服务的地址位置

    我们目前已经公开了具有以下 URL 的 JAX RPC Web 服务 http xx xx xx xx myservice MYGatewaySoapHttpPort wsdl http xx xx xx xx myservice MYGa
  • 用于生成 ISO 文件的 Maven 插件

    有没有可以生成ISO镜像的maven插件 我需要获取一些模块的输出 主要是包含 jar 的 zip 文件 并将它们组合成一个 ISO 映像 Thanks 现在有一个 ISO9660 maven 插件可以完成这项工作 https github
  • JPA ManyToMany 产生的空联接表

    我有一个应用程序 其中我尝试使用 Hibernate 作为 JPA 提供程序来实现两个实体之间的多对多关系 我正在尝试的例子是一个单向的 其中一个相机可以有多个镜头 而镜头可以安装到多个相机中 以下是我的实体类 只需粘贴其中的相关部分 Ca

随机推荐

  • Java中字符编码问题和中文占几个字节的问题(ASCII Unicode UTF-8 )

    ASCII码 在计算机内部 所有的信息最终都表示为一个二进制的字符串 每一个二进制位 bit 有0和1两种状态 因此八个二进制位就可以组合出256种状态 这被称为一个字节 byte 也就是说 一个字节一共可以用来表示256种不同的状态 每一
  • layuiAdmin 框架单页面文档

    快速入门 部署 解压文件后 将 layuiAdmin 完整放置在任意目录 通过本地 web 服务器去访问 start index html 即可运行 Demo 由于 layuiAdmin 可采用前后端分离开发模式 因此你无需将其放置在你的服
  • STM32编译报错 Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_hd.o).——解决办法

    入门STM32写第一个程序时 引入启动文件startup stm32f10x hd s后编译报错 注 启动文件自行下载后加入工程中 一 原因 引入的启动文件startup stm32f10x hd s中 外部引用的SystemInit函数是
  • Spring Cloud Stream Binder 实现

    Spring Cloud Stream Binder 实现 JMS 实现 ActiveMQ 1 增加Maven依赖
  • unity4升级unity5动画文件不能正常播放解决方法

    using UnityEngine using System Collections using UnityEditor public class ZYResetTheAnimator MonoBehaviour MenuItem ZY R
  • 【python基础】爬虫练习

    不知道大家有没有通过豆瓣网寻找一些排名较高的电影 反正小编基本上是顺着排名一点点找电影看 本文将详细介绍如何使用Python爬虫抓取豆瓣网电影评论用户的观影习惯数据 并进行简单的数据处理和分析 目录 一 配置环境 1 1 安装Python
  • html2Canvas + jsPDF vue生成pdf(A4纵向或A3横向)

    1 第一个 将页面html转换成图片 npm install save html2canvas 第二个 将图片生成pdf npm install jspdf save 2 创建名称 htmlToPdf js 页面导出为pdf格式 impor
  • SpringBoot使用Swagger配置API接口文档

    概述 Swagger是一个用于设计 构建和文档化 RESTful API 的开源框架 它提供了一组工具 使得开发人员能够更轻松地定义 描述和测试API接口 具体来说 Swagger包含以下几个核心组件 Swagger规范 Swagger S
  • LaTeX Error: Unicode character解决方法

    由tex编译到pdf时报错信息如下 解决办法如下 第一步 在引用包的位置中添加 usepackage CJKutf8 并且在 begin document 下方添加 begin CJK UTF8 gbsn 第二步 在 end documen
  • torch将多个tensor张量合并为一个张量,只提高迷你批次的纬度

    在自己写pytorch的数据集加载函数时 会遇到一个问题 如何将多张图片张量合并到一起 提升迷你批次batch的纬度 但是不影响图片的大小和RGB通道数 解决方法 函数torch cat inputs dim 这里的inputs是你要合并的
  • 华为OD题目: 核酸检测人员安排

    核酸检测人员安排 参考 https blog csdn net qq 34465338 article details 128648074 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 在系统 网络均正常的情况下组织核酸
  • idea 使用 git 回退到某个历史版本

    idea 使用 git 回退到某个历史版本 有时我们提交git错了 想回滚 怎么办 一 用idea工具 1 idea中打开Terminal 输入 git log 显示历史提交记录 或者 右击项目 gt Git gt Show History
  • MongoDB $unwind保留空数组

    MongoDB的aggregate的pipeline中 有 unwind操作符 该操作符用于延展某一个数组类型的元素 作用与Python中的flatten 拍平 类似 但是在实际使用中 unwind 有一个非常明显的问题 就是如果要unwi
  • H.264码流分析仪

    目录 一 实验内容 二 实验结果 1 SPS profile idc level idc eq parameter set id log2 max frame num minus4 pic order cnt type log2 max p
  • @ApiModelProperty注解

    ApiModelProperty 用于方法 字段 表示对model属性的说明或者数据操作更改 value 字段说明 name 重写属性名字 dataType 重写属性类型 required 是否必填 example 举例说明 hidden
  • 电脑视频显示服务器运行失败,抖音直播伴侣提示:服务器终点无法运行操作或者创建视频源失败请重试解决方法视频教程...

    1 抖音直播伴侣多开 如果提示 服务器终点无法运行操作 或者创建视频源失败 请重试 多开插件一般是操作系统不兼容 要换操作系统 或者安装虚拟机 我推荐的操作系统是WIN10 64位 我拿了100多个操作系统测试 最终这个版本的稳定 可用 大
  • 图像分割套件PaddleSeg全面解析(四)数据预处理

    本部分主要介绍一下数据增强部分 PaddleSeg套件里把数据增强部分都定义在transforms里面 与Pytorch比较类似 这样就把一些基本的图像处理方法 缩放 归一化等 和数据增强 随机裁剪 翻转 颜色抖动 统一了 自己新增的数据增
  • 编程15年40岁程序员的我终于在压力下被迫转行了

    本人今年40岁多了 中山大学计算机小硕 已经从事it工作15年多 最后一次工作是2017年 创业 互联网教育方向 2020年失败关闭公司 创业失败后 在家沉淀了几个月 然后决定再次找工作 前几年频繁接到猎头电话的我 海投了不少公司 结果都渺
  • Linux网络协议栈

    TCP与UDP区别 区别一 是否基于连接 TCP是面向连接的协议 而UDP是无连接的协议 即TCP面向连接 UDP是无连接的 即发送数据之前不需要建立连接 区别二 可靠性 和 有序性 区别 TCP 提供交付保证 Tcp通过校验和 重传控制
  • mysql 控制每次批量插入5w条记录思路

    http blog csdn net jianjun4833 article details 71170113 由于业务中使用到word分词 所以数据量比较大 需要把分出来的结果插入到数据库 每次插入1条的话 非常慢 所以使用批量插入 具体