当前位置: 首页 > 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;

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

相关文章:

  • 基于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 入门教程
  • 融创中国:今年前4个月销售额约112亿元
  • 金融监管总局:近五年民企贷款投放年平均增速比各项贷款平均增速高出1.1个百分点
  • 上海:下调个人住房公积金贷款利率
  • 秦洪看盘|受阻回落,蓄积新做多能量
  • 有人悬赏十万寻找“全国仅剩1只”的斑鳖,发帖者回应并证实
  • 2年就过气!ChatGPT催生的百万年薪岗位,大厂不愿意招了