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

JDBC批量插入数据

PreparedStatement的一些好处

1.PreparedStatement可以防止SQL注入

2.PreparedStatement可以操作Blob数据,Statement做不到.

3.PreparedStatement可以实现更高效的批量操作

演示PreparedStatement批量操作

在数据库操作中

update,delete后面如果没有条件,本身就可以就可以进行批量操作

因此这里演示主要针对与insert语句

如果使用PreparedStatement进行更加高效的批量插入

建表演示

CREATE TABLE goods (
id INT PRIMARY KEY auto_increment,
NAME VARCHAR ( 25 ));

用Statement

PareparedStatement比Statement快的原因

用PreparedStatement   方式1  稍微快点   这个好像慢了   但是理论来讲是可以快的

下面演示

PreparedStatement批量操作:  addBatch(),executeBatch(),clearBatch()

哈哈哈  好像更加慢了

只是讲理论,就按理论来好了

Mysql默认情况下是不支持批处理的(5.几的时候支持了 具体忘记了)   但是这里自己电脑装的mysql8.0是可以的   

如果不行,按下面操作

mysql服务器默认是关闭批处理的,我们需要通过一个参数,让mysql开启批处理的支持。
?rewriteBatchedStatements=true 写在配置文件的url后面

另外有可能,要执行的不是2000的整除  比如说20005 或者19999这样,也简单

注意  写了之后差别好大

加了?rewriteBatchedStatements=true之后  存入100W条数据

还可以优化  终极优化

原先是2000条一提交写入数据库   添加事务   最后一次性提交

插入1亿条数据

EXPLAIN SELECT * FROM goods WHERE id = 1111;

这将返回一个执行计划,包括表的连接方式、索引的使用情况以及其他关于查询执行的信息。你可以查看该执行计划,以获取关于查询性能的一些洞察。

http://www.dtcms.com/a/2512.html

相关文章:

  • 基于SSM的摄影约拍系统
  • 竞赛选题 深度学习YOLOv5车辆颜色识别检测 - python opencv
  • C语言达到什么水平才能从事单片机工作
  • 架构实战关键知识点
  • Macos数字音乐库:Elsten Software Bliss for Mac
  • Go 匿名函数与闭包
  • ES知识点全面整理
  • a-table 动态列宽拖拽 vue
  • 关于网络协议的若干问题(一)
  • JavaEE-http/https/Tomcat(下)
  • HTTP/2 中的漏洞
  • element ui el-table表格复选框,弹框关闭取消打勾选择
  • centos清理日志和缓存
  • grafana api创建dashboard 记录
  • 【unity】【VR】白马VR课堂系列-VR开发核心基础04-主体设置-XR Rig的引入和设置
  • 从硬件结构到软件
  • C++入门(1):命名空间,IO流 输入输出,缺省参数
  • Flink kafka 数据汇不指定分区器导致的问题
  • go语言输出带颜色字体
  • docker 入门教程
  • 单页面应用(SPA):改变用户体验的未来
  • Infuse Mac视频播放器 中文
  • 软件测试学习(二)静态白盒测试、动态白盒测试、配置测试、兼容性测试、外国语言测试
  • 信息学奥赛一本通-编程启蒙3219:练36.2 不定方程求解
  • 让 Visual Studio 用上 ChatGPT
  • Hadoop3教程(九):MapReduce框架原理概述
  • Web自动化测试入门 : 前端页面的组成分析详解
  • 《机器学习》第5章 神经网络
  • python selenium下载一个合适的chromedriver.exe(稳定版本)
  • 【数据结构】:二叉树与堆排序的实现