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

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

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

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

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

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

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

主键:1 - 10 毫秒

唯一索引:10 - 100 毫秒

非唯一索引:100 - 1000 毫秒

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

相关推荐
牛马baby13 分钟前
【mysql】in 用到索引了吗?
数据库·mysql·in
-Xie-21 分钟前
Mysql杂志(三十)——索引失效情况
数据库·mysql
冼紫菜24 分钟前
[特殊字符] 深入理解 PageHelper 分页原理:从 startPage 到 SQL 改写全过程
java·后端·sql·mysql·spring
为java加瓦26 分钟前
Lombok @Data 注解在 Spring Boot 项目中的深度应用与实践指南
java·开发语言·数据库
青山撞入怀111432 分钟前
sql题目练习-子查询
java·数据库·sql
程序新视界36 分钟前
什么是MySQL分区?
数据库·mysql·dba
程序新视界44 分钟前
实战技巧:使用冗余查询条件解锁MySQL中的索引
数据库·mysql·dba
番茄Salad1 小时前
Spring Boot项目中Maven引入依赖常见报错问题解决
spring boot·后端·maven
Jabes.yang1 小时前
Java求职面试: 互联网医疗场景中的缓存技术与监控运维应用
java·redis·spring security·grafana·prometheus·oauth2·互联网医疗
摇滚侠2 小时前
Spring Boot 3零基础教程,yml配置文件,笔记13
spring boot·redis·笔记