提升插入(INSERT)效率通常要从数据库设计、SQL 写法、事务与配置、硬件与架构几个层面入手。下面以通用关系型数据库(MySQL / PostgreSQL 等)为主说明,也可适配其他存储。
❌ 单条插入:
INSERT INTO t VALUES (1);
INSERT INTO t VALUES (2);
✅ 批量插入:
INSERT INTO t VALUES (1),(2),(3),...;
建议每批 500~5000 条(视字段大小)
索引越多,插入越慢:
ALTER TABLE t DROP INDEX idx_xxx;
-- 插入
ALTER TABLE t ADD INDEX idx_xxx;
❌ 一条一事务
✅ 批量提交:
START TRANSACTION;
-- 批量 INSERT
COMMIT;
但注意:
SET autocommit = 0;
INT 不用 BIGINTTEXT / JSON 过多innodb_buffer_pool_size = 70% 内存
innodb_flush_log_at_trx_commit = 2 # 性能优先
sync_binlog = 0 或 100
⚠️ 会牺牲一定安全性
SET sql_log_bin = 0;
LOAD DATA INFILE 'data.csv'
INTO TABLE t;
如果你能告诉我:
我可以给你更针对性的优化方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。