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

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

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

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

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

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

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

主键:1 - 10 毫秒

唯一索引:10 - 100 毫秒

非唯一索引:100 - 1000 毫秒

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

相关推荐
没有bug.的程序员9 分钟前
JVM 内存模型(JMM):并发的物理基础
java·jvm·spring boot·spring·jmm
Amy_yang12 分钟前
从随机排序到公平洗牌:JavaScript随机抽取问题的优化之路
javascript·性能优化
云边有个稻草人15 分钟前
【MySQL】第二节—库的操作 | 详解
数据库·mysql·库的操作
张较瘦_17 分钟前
数据库 | MySQL表管理与增删改查:从入门到实践
数据库·mysql
毕设源码-郭学长22 分钟前
【开题答辩全过程】以 基于SSM框架的线上购物系统设计与实现为例,包含答辩的问题和答案
java·spring boot
信码由缰23 分钟前
Java 中的结构化并发模式
java
Q***f63529 分钟前
Java数据可视化应用
java·开发语言·信息可视化
一个尚在学习的计算机小白30 分钟前
springcache缓存
java·spring·缓存
hygge99933 分钟前
synchronized vs CopyOnWrite 系列
java·开发语言·经验分享·面试
用户03048059126342 分钟前
前后端数据传输: 利用 Jackson 注解实现 Enum 与 int 的双向映射
java·后端