架构设计 - MySQL 插入数据性能优化策略

mysql 数据库提高数据插入效率主要可以考虑以下方面:

  • 使用批量插入数据的 SQL 语句,避免使用 for 循环逐条记录插入。

  • 所有插入语句共用一个事务,避免1条SQL语句开1个事务,所有操作都完成后再提交事务。

  • 尽量按照索引递增顺序插入记录,以避免频繁的调整索引。

  • 控制事务大小。插入的数据量不要超过 innodb_log_buffer_size 配置属性的值,超过这个值会导致 InnoDB 把数据刷到磁盘中,进而影响插入效率。如果数据量太大,可以将大数据插入操作拆分成多个较小的事务。

MySQL 的数据 CRUD 操作性能指标:(以千万级别数据为例)

主键:1 - 10 毫秒

唯一索引:10 - 100 毫秒

非唯一索引:100 - 1000 毫秒

无索引:百万条数据 1000+ 毫秒

相关推荐
Sadie_d几秒前
项目型制造企业痛点与解决方案:如何选对项目管理系统?
项目管理·制造
05大叔5 分钟前
大事件Day04
java·开发语言
这里是杨杨吖8 分钟前
SpringBoot+Vue古建筑文化宣传交流系统 附带详细运行指导视频
vue.js·spring boot·系统·古建筑·文化宣传
高山上有一只小老虎9 分钟前
解决springboot项目从mybatis切换为集成jpa后dao层方法检查爆红
java·spring boot
D_FW9 分钟前
【Java】Redis五大核心数据结构底层原理解析
java·数据结构·redis
有一个好名字9 分钟前
【无标题】
java·开发语言·jvm
0和1的舞者9 分钟前
SpringBoot 接口规范:统一返回、异常处理与拦截器详解
java·spring boot·后端·spring·知识·统一
一 乐10 分钟前
动漫交流与推荐平台|基于springboot + vue动漫交流与推荐平台系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
漉水浮沙10 分钟前
Fio crc 数据校验验证
java·服务器·前端·数据库
期待のcode11 分钟前
Java虚拟机的垃圾对象判定
java·开发语言·jvm