主页 > 手机  > 

JDBC批量插入数据

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;

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

标签:

JDBC批量插入数据由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“JDBC批量插入数据