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

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

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

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

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

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

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

主键:1 - 10 毫秒

唯一索引:10 - 100 毫秒

非唯一索引:100 - 1000 毫秒

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

相关推荐
gugucoding17 小时前
57. 【Java】日志框架:SLF4J与Logback
java·开发语言·logback
今天的砖头有点烫手啊17 小时前
JVM 调优实战:从 GC 日志到参数优化,一次完整排查
java·jvm
__zRainy__17 小时前
Node系列 · ORM:mysql 驱动程序
数据库·后端·mysql·node.js·orm
痕迹运维17 小时前
MySQL8 Docker容器化部署之C86架构(海光CPU)
mysql
程序员夏洛17 小时前
MySQL 中如果发生死锁应该如何解决?
数据库·mysql
爱奥尼欧18 小时前
10.C++ string 实现详解
java·开发语言·c++
小飞学编程...18 小时前
【equals 、Comparable、Comparator 三者的区别】
java·python
骇客野人18 小时前
Java分布式任务调度方案(完整落地指南)
java·开发语言·分布式
JacksonMx18 小时前
Spring @Async 坑点 + 改造方案
java·开发语言
Dovis(誓平步青云)18 小时前
牛奶不能减成负数:冰箱库存的筛选、去重与不可变更新
android·java·开发语言