mysql之insert优化

insert优化的方向:

  1. 批量插入,一个insert语句一次插入多行数据。
  2. 通过手工提交事务
  3. 主键要顺序插入,不要乱序插入
  4. 如果是大批量引入数据,可以用load语句从外界导入数据。

批量插入代替单条插入

使用 INSERT INTO ... VALUES (...), (...), (...) 语法一次性插入多行数据,减少网络往返和事务开销。相比逐条插入,性能提升显著,尤其在数据量较大时。

合理使用事务

将多个插入操作包裹在事务中,减少日志写入次数。但需注意事务过长可能导致锁等待或回滚开销增加,建议控制事务大小,批量提交(如每1000~5000条提交一次)。

关闭自动提交模式

在执行批量插入前,关闭自动提交(SET autocommit = 0),手动控制事务提交时机,避免每条语句都触发一次提交操作。

相关推荐
北方的银狐-Zero2 小时前
OntoL 7.0|面向工业多智能体的语义本体套件,让异构系统真正 “看懂彼此”——OntoL的本体产品矩阵
人工智能·mysql·sqlite·1024程序员节·本体论·本体产品
海鸥-w2 小时前
数据库冗余字段设计笔记
java·数据库·笔记·oracle
瑞克-桑切斯3 小时前
4、MySQL 索引与事务
数据库·mysql
二宝哥3 小时前
【问题】本地启动springboot项目启动flowable引擎会提示数据库脚本错误,同事本地启动没有报错(MySQL表明大小写敏感参数)
数据库·mysql
John_Hui3 小时前
第 5 篇:Ubuntu 安装 Redis
数据库·redis·缓存
TDengine (老段)3 小时前
TDengine IDMP 十大实用功能(2)
大数据·数据库·chrome·时序数据库·tdengine·idmp·有问有答
Navicat中国3 小时前
Navicat 连接 Redis 数据库
数据库·redis·数据库开发·navicat
东方佑4 小时前
去魅:工具调用、Agent 调用、A2A、MCP、Harness 到底都是什么
服务器·网络·数据库