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

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

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

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

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

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

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

主键:1 - 10 毫秒

唯一索引:10 - 100 毫秒

非唯一索引:100 - 1000 毫秒

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

相关推荐
C雨后彩虹几秒前
volatile 实战应用篇 —— 典型场景
java·多线程·并发·volatile
xie_pin_an1 分钟前
从二叉搜索树到哈希表:四种常用数据结构的原理与实现
java·数据结构
没有bug.的程序员6 分钟前
Java 并发容器深度剖析:ConcurrentHashMap 源码解析与性能优化
java·开发语言·性能优化·并发·源码解析·并发容器
·云扬·1 小时前
MySQL 常见存储引擎详解及面试高频考点
数据库·mysql·面试
J_liaty1 小时前
SpringBoot + EMQX:打造物联网设备数据双向通讯的完整解决方案
spring boot·物联网·emqx
kk哥88991 小时前
分享一些学习JavaSE的经验和技巧
java·开发语言
栈与堆1 小时前
LeetCode 21 - 合并两个有序链表
java·数据结构·python·算法·leetcode·链表·rust
lagrahhn2 小时前
Java的RoundingMode舍入模式
java·开发语言·金融
鸽鸽程序猿2 小时前
【JavaEE】【SpringCloud】注册中心_nacos
java·spring cloud·java-ee
何以不说话2 小时前
mysql 的主从复制
运维·数据库·学习·mysql