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

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

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

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

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

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

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

主键:1 - 10 毫秒

唯一索引:10 - 100 毫秒

非唯一索引:100 - 1000 毫秒

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

相关推荐
2601_949817721 小时前
C++指针与引用深度精讲:底层原理、差异对比与高阶实战陷阱
java·jvm·c++
va学弟1 小时前
Java 网络通信编程(10):Channel 和 Selector
java·开发语言
小张小张爱学习1 小时前
Apache Dubbo 3 + Spring Boot 3 多模块 Maven 项目,演示基于 Zookeeper 注册中心的 RPC 调用
java·dubbo
孙晓鹏life2 小时前
MySQL-Seconds_behind_master的精度误差
android·mysql·adb
阿pin2 小时前
Java随笔-ConcurrentHashMap
java·开发语言·哈希算法
C+-C资深大佬3 小时前
Java 变量:从入门到精通
java·开发语言·python
Flittly3 小时前
【日常小问】Docker 部署 Nacos 2.4.3,Dubbo 3.3 连接 Config Service 失败排查
java·spring boot·dubbo
kuonyuma3 小时前
java之动态代理
java·开发语言
衔烛之龙13 小时前
Windows x64 构建 liboqs-java教程
java·windows·python
一路向北North3 小时前
Spring Security OAuth2.0(20):完善环境配置
java·后端·spring