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

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

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

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

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

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

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

主键:1 - 10 毫秒

唯一索引:10 - 100 毫秒

非唯一索引:100 - 1000 毫秒

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

相关推荐
花阴偷移9 分钟前
kotlin语法(上)
android·java·开发语言·kotlin
木易 士心14 分钟前
Go、Rust、Kotlin、Python 与 Java 从性能到生态,全面解读五大主流编程语言
java·golang·rust
qq_3363139318 分钟前
java基础-set系列集合
java·开发语言·python
U***l83224 分钟前
【Spring】IDEA中创建Spring项目
java·spring·intellij-idea
好好沉淀26 分钟前
IDEA 报错:You aren‘t using a compiler supported by lombok (1分钟解决方案)
java·spring·intellij-idea
小时候的阳光42 分钟前
使用Docker版Percona Xtrabackup备份恢复MySQL8.0.x
mysql·docker·备份·xtrabackup
今天你TLE了吗44 分钟前
通过RocketMQ延时消息实现优惠券等业务MySQL当中定时自动过期
java·spring boot·后端·学习·rocketmq
胡楚昊1 小时前
CTF SHOW逆向
java·服务器·前端
Maỿbe1 小时前
MySQL索引失效的情况
mysql
烤麻辣烫1 小时前
黑马程序员苍穹外卖(新手)DAY12
java·开发语言·学习·spring·intellij-idea