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

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

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

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

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

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

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

主键:1 - 10 毫秒

唯一索引:10 - 100 毫秒

非唯一索引:100 - 1000 毫秒

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

相关推荐
这个DBA有点耶5 分钟前
SQL:2023新特性详解:JSON_TABLE、GREATEST/LEAST、QUALIFY 到底怎么用?
数据库·sql·mysql
CoderYanger10 分钟前
A.每日一题:输入单词需要的最少按键次数 Ⅰ+Ⅱ
java·数据结构·算法·leetcode·面试
Cosolar13 分钟前
一文弄懂 Agent Harness 与 Agent Runtime 的区别
java·后端·github
小王C语言18 分钟前
MySQL 用户管理:创建用户、给用户授权
数据库·mysql
吴声子夜歌24 分钟前
Java——类、对象及方法(一)
java·开发语言
程序员夏洛32 分钟前
Redis 的持久化机制有哪些?
java·数据库·redis
凯尔萨厮39 分钟前
Java学习笔记十(注解)
java·笔记·学习
钱栈up1 小时前
VSCode 调试多模块 Maven + Spring Boot 后端:从启动失败到一次跑通
java·spring boot·maven
uoKent1 小时前
c++中new和malloc的区别
java·jvm·c++
十五喵源码网1 小时前
基于springboot2+vue2的疾病防控综合系统
java·毕业设计·springboot·论文笔记