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

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

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

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

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

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

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

主键:1 - 10 毫秒

唯一索引:10 - 100 毫秒

非唯一索引:100 - 1000 毫秒

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

相关推荐
QD_IT伟4 分钟前
SpringBoot项目整合Tlog 数据链路的规范加强
java·spring boot·后端
源码获取_wx:Fegn08955 分钟前
基于springboot + vue二手交易管理系统
java·vue.js·spring boot·后端·spring·课程设计
Zsh-cs6 分钟前
Spring
java·数据库·spring
爬山算法7 分钟前
Springboot请求和响应相关注解及使用场景
java·spring boot·后端
程序员水自流11 分钟前
MySQL InnoDB存储引擎详细介绍之事务
java·数据库·mysql·oracle
Knight_AL13 分钟前
MySQL STORED 生成列(Generated Column)详解:让 SQL 变快的秘密武器
数据库·sql·mysql
请为小H留灯22 分钟前
Java实际开发@常用注解(附实战场景)
java·后端·个人开发
老华带你飞24 分钟前
在线教育|基于springboot + vue在线教育系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端
路边草随风24 分钟前
java操作cosn使用
java·大数据·hadoop
TT哇32 分钟前
【项目】玄策五子——匹配模块
java·spring boot·websocket·spring·java-ee·maven