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

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

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

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

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

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

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

主键:1 - 10 毫秒

唯一索引:10 - 100 毫秒

非唯一索引:100 - 1000 毫秒

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

相关推荐
小猿备忘录几秒前
Spring Security OAuth2 双Token机制精讲:原理、配置与常见坑点全解析
java·前端·spring·中间件
星夜夏空991 分钟前
FreeRTOS学习(12)——任务通知
学习·性能优化
AOwhisky6 分钟前
学习自测(MySQL系列第一期、第二期)
linux·运维·数据库·学习·mysql·云计算
郑洁文23 分钟前
学生信息管理系统
java·毕业设计·学生信息管理系统
淘源码A25 分钟前
专科医院云HIS系统源码:技术栈包括SpringBoot、Angular、MySQL等
spring boot·后端·源码·云his·医院信息系统·医院his系统
念何架构之路25 分钟前
存储层技术MySQL
数据库·mysql
剑挑星河月25 分钟前
31.下一个排列
java·算法·leetcode
ch.ju26 分钟前
Java Programming Chapter 4——Private attribute
java·开发语言
小马爱打代码26 分钟前
基于 SpringBoot 的微服务文件上传下载组件设计与实现
spring boot·后端
许彰午28 分钟前
12_ArrayList与LinkedList深度对比
java·前端·python