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

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

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

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

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

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

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

主键:1 - 10 毫秒

唯一索引:10 - 100 毫秒

非唯一索引:100 - 1000 毫秒

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

相关推荐
用户298698530143 分钟前
Java HTML 转 Word 完整指南
java·后端
渣哥12 分钟前
原来公平锁和非公平锁差别这么大
java
渣哥21 分钟前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K31 分钟前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty72533 分钟前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构
得物技术2 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
isysc12 小时前
面了一个校招生,竟然说我是老古董
java·后端·面试
xiaok2 小时前
mysql中怎么创建一个可控权限数据库账号密码给到开发者
mysql
道可到5 小时前
Java 反射现代实践速查表(JDK 11+/17+)
java
道可到5 小时前
Java 反射现代实践指南(JDK 11+ / 17+ 适用)
java