“Insert 性能差”可能出现在 数据库(如 MySQL / PostgreSQL)、代码写入逻辑 或 系统架构 等多个层面。下面按常见场景给你一套可落地的优化思路。
❌ 单条 INSERT:
INSERT INTO t VALUES (1);
INSERT INTO t VALUES (2);
✅ 批量 INSERT:
INSERT INTO t VALUES (1),(2),(3);
或一次插入几百~几千行(不要一次 10w+,容易锁和日志压力大)
ALTER TABLE t DISABLE KEYS; -- MySQL MyISAM
SET FOREIGN_KEY_CHECKS=0;
ALTER TABLE t ENABLE KEYS;
SET FOREIGN_KEY_CHECKS=1;
❌ 每条 INSERT 一个事务
✅ 多行一个事务:
BEGIN;
INSERT ...
INSERT ...
COMMIT;
innodb_buffer_pool_size 调大innodb_flush_log_at_trx_commit=2(性能优先)sync_binlog=0 或 1000autocommit=0⚠️ 这些会牺牲一定安全性,仅适合日志/导入类场景
架构示例:
业务 → MQ → 消费线程 → 批量写库
适合:
你可以先确认:
如果你能补充:
我可以给你更具体的参数和 SQL 示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。