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

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

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

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

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

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

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

主键:1 - 10 毫秒

唯一索引:10 - 100 毫秒

非唯一索引:100 - 1000 毫秒

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

相关推荐
摸爬滚打的小李18 分钟前
关于 Arthas
java·后端
Umi·21 分钟前
MySQL库表操作
数据库·mysql
砚底藏山河33 分钟前
python量化实操:冷热分层存储
java·开发语言·python·金融
yuniko-n44 分钟前
【JUC】原子类
java
惊讶的猫1 小时前
Query 改写
java·rag
信誓旦旦的程序猿1 小时前
【Python量化实战宝典 #18】MACD 金叉死叉手册:DIF、DEA、柱体全拆解(Python 可跑)
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
星光开发者1 小时前
基于springboot智慧草场牛羊管理系统-计算机毕设【课程设计】50360
vue.js·spring boot·后端·mysql·php·课程设计·express
Misnearch1 小时前
第7章 面向对象技术
java·开发语言·软考
weixin_BYSJ19871 小时前
电竞先锋网站---附源码02032
java·vue.js·spring boot·python·django·tomcat·php
会编程的吕洞宾2 小时前
LangChain4j 流式输出实战:让 AI 回复像打字机一样逐字显示
java·开发语言·人工智能·后端