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条记录思路 的相关文章

  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • Final字段的线程安全

    假设我有一个 JavaBeanUser这是从另一个线程更新的 如下所示 public class A private final User user public A User user this user user public void
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 禁止的软件包名称:java

    我尝试从数据库名称为 jaane 用户名 Hello 和密码 hello 获取数据 错误 java lang SecurityException Prohibited package name java at java lang Class
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • Java TestNG 与跨多个测试的数据驱动测试

    我正在电子商务平台中测试一系列商店 每个商店都有一系列属性 我正在考虑对其进行自动化测试 是否有可能有一个数据提供者在整个测试套件中提供数据 而不仅仅是 TestNG 中的测试 我尝试不使用 testNG xml 文件作为机制 因为这些属性
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 静态变量的线程安全

    class ABC implements Runnable private static int a private static int b public void run 我有一个如上所述的 Java 类 我有这个类的多个线程 在里面r
  • 在 MySQL 中存储表情符号的编码问题:如何使用 Prisma ORM 在 NodeJS 中定义字符排序规则?

    亲爱的 Nodejs 专家和数据库专家 我们在 MySQL 数据库中存储表情符号和其他特殊字符时遇到问题 我们使用 Prisma 得到一个错误 这是我们使用的 ORM 参数无法从排序规则 utf8 general ci 转换为 utf8mb
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will
  • 如何修复 JNLP 应用程序中的“缺少代码库、权限和应用程序名称清单属性”?

    随着最近的 Java 更新 许多人都遇到了缺少 Java Web Start 应用程序的问题Codebase Permissions and Application name体现属性 尽管有资源可以帮助您完成此任务 但我找不到任何资源综合的

随机推荐

  • 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条的话 非常慢 所以使用批量插入 具体