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

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

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

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

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

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

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

主键:1 - 10 毫秒

唯一索引:10 - 100 毫秒

非唯一索引:100 - 1000 毫秒

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

相关推荐
向着光芒的女孩1 分钟前
【IDEA】关不了的Proxy Authentication弹框探索过程
java·ide·intellij-idea
Filotimo_31 分钟前
Spring Boot 整合 JdbcTemplate(持久层)
java·spring boot·后端
找不到、了35 分钟前
MySQL 索引下推(ICP)的实战,彻底提升查询性能
数据库·mysql
kitty_hi37 分钟前
mysql主从配置升级,从mysql5.7升级到mysql8.4
linux·数据库·mysql·adb
李慕婉学姐43 分钟前
【开题答辩过程】以《“饭否”食材搭配指南小程序的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·spring·小程序
abments2 小时前
pgsql timestamp without time zone > character varying解决方案
java
sanggou2 小时前
大数据量查询处理方案 - 内存优化与高效展示
java
没有bug.的程序员3 小时前
Java 字节码:看懂 JVM 的“机器语言“
java·jvm·python·spring·微服务
-大头.3 小时前
深入理解 Java 内存区域与 JVM 运行机制
java·jvm
q***13343 小时前
Linux系统离线部署MySQL详细教程(带每步骤图文教程)
linux·mysql·adb