数据库插入慢可以从硬件/系统、数据库配置、SQL与索引、应用架构、并发与锁几个层面系统排查。下面给你一套可落地的排查思路。
slow query log、APM)top / htopfree -m(是否 swap)iostat -x 1
%util 高、await 大 → 磁盘瓶颈sar -n DEV 1(跨机房尤其重要)innodb_buffer_pool_size 是否过小innodb_flush_log_at_trx_commit
1:最安全但最慢(每次提交刷盘)2 / 0:性能更好(有丢数据风险)sync_binloginnodb_log_file_size 是否过小binlog、 slow query log插入也会维护索引:
✅ 排查:
SHOW INDEX FROM table_name;
UUID 主键(随机写,页分裂)❌ 慢:
INSERT INTO t VALUES (...);
INSERT INTO t VALUES (...);
✅ 快:
INSERT INTO t VALUES (...),(...),(...);
✅ MySQL:
SHOW PROCESSLIST;
SELECT * FROM information_schema.INNODB_TRX;
SELECT * FROM performance_schema.data_lock_waits;
✅ 建议:
SHOW PROCESSLIST如果你愿意,可以告诉我:
我可以直接帮你给针对性优化方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。