JDBC批量操作性能提升

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

JDBC

当使用INSERT INTO....VALUES()语句批量插入的时候,应该使用JDBC的PreparedStatement的批量操作方法,而不是采用一条一条执行的方法。

例如(来源:http://superjavason.iteye.com/blog/255423):

如上图,代码有3个关键的处理步骤:

1)关闭自动提交

2)addBatch

3)executeBatch

使用这种方法,SQLite测试时的效果提升非常明显,从 10000/s提升到100000/s(数据仅做参考,不能作为决策依据)

需要注意的是:这种方式只适合相同结构的SQL语句批量执行,对于不同结构的SQL语句不能用这种方式,因为PreparedStatement在初始化的时候要指定sql

 

MySQL

使用上述参数后,MySQL的性能也有一定的提升,但提升不明显。经过查找,确认和如下两个参数有关:

  • rewriteBatchedStatements=true

mysql默认关闭了batch处理, 通过此参数进行打开, 这个参数可以重写向 数据库提交的SQL语句

  • useServerPrepStmts=false

如果不开启(useServerPrepStmts=false), 使用com.mysql.jdbc.PreparedStatement进行本地SQL拼装, 最后送到db上就是已经替换了?后的最终SQL

 

经过测试,打开这2个参数后,mysql的批处理性能从1000多提升到50000多

详细请参考:http://blog.csdn.net/whucyl/article/details/20838079

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 存储 JSON
阿里云数据库 SelectDB 内核 Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%
亲爱的社区小伙伴们,Apache Doris 2.1.0 版本已于 2024 年 3 月 8 日正式发布,新版本开箱盲测性能大幅优化,在复杂查询性能方面提升100%,新增Arrow Flight接口加速数据读取千倍,支持半结构化数据类型与分析函数。异步多表物化视图优化查询并助力仓库分层建模。引入自增列、自动分区等存储优化,提升实时写入效率。Workload Group 资源隔离强化及运行时监控功能升级,保障多负载场景下的稳定性。新版本已经上线,欢迎大家下载使用!
阿里云数据库 SelectDB 内核 Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%
|
NoSQL 关系型数据库 MySQL
MongoDB 慢查询语句优化分析策略
MongoDB查询语句太慢了,开启 Profiling 功能进行分析后发现,问题其实很好解决,涨知识了
449 0
|
4月前
|
SQL 存储 缓存
如何通过优化SQL查询提升数据库性能
SQL查询是数据库的核心功能之一,对于大型数据量的应用程序来说,优化SQL查询可以显著提升数据库的性能。本文将介绍如何通过优化SQL查询语句来提升数据库的性能,包括索引优化、查询语句优化以及其他一些技巧。
|
4月前
|
存储 缓存 Java
使用@Cacheable,缓存优化的方式优化数据库的查询
使用@Cacheable,缓存优化的方式优化数据库的查询
95 0
|
5月前
|
存储 SQL 关系型数据库
PolarDB-x 比mysql查询性能怎么样?速度快吗
PolarDB-x 比mysql查询性能怎么样?速度快吗
165 0
|
8月前
|
存储 弹性计算 缓存
阿里云数据库 SelectDB 版内核 Apache Doris 2.0 如何实现导入性能提升 2-8 倍
Apache Doris 2.0 进一步增强数据导入能力,性能提升 2-8 倍,加速数据实时处理和分析效率!
阿里云数据库 SelectDB 版内核 Apache Doris 2.0 如何实现导入性能提升 2-8 倍
|
11月前
|
SQL
批量插入性能提升
批量插入性能提升
|
11月前
|
存储 缓存 关系型数据库
高性能 MySQL(八):通过优化数据访问,来解决慢查询
前面几篇文章中介绍了如何设计最优的库表结构,以及如何建立最好的索引,这些对于高性能来说是必不可少的。但这还不够——还需要合理的设计查询。如果查询写得很糟糕,即使库表结构再合理、索引再合适,也无法实现高性能。
136 0
|
存储 分布式计算 Cloud Native
Hologres揭秘:优化COPY,批量导入性能提升5倍+
揭秘Hologres优化COPY的技术原理,实现批量导入性能提升5倍+。
3716 0
Hologres揭秘:优化COPY,批量导入性能提升5倍+
|
关系型数据库 SQL 分布式数据库
分布式关系型数据库服务 DRDS 提供 Chunk-Based 执行器,大幅优化复杂查询执行效率
信息摘要: DRDS 提供 Chunk-Based 执行器,优化复杂查询、支持异步 DDL 以及 SQL 执行计划管理等功能适用客户: 数据库使用者 / 分布式数据库使用者 / 分库分表 / 开发者 / 互联网企业 / 金融保险行业 / 新零售行业版本/规格功能: 新功能: 新增Chunk-Ba...
1329 0