- • limit 深偏移 = 先扫掉前面几十万行再丢弃
- • 延迟关联:子查询只查 id(走覆盖索引/主键)
- • 外层拿 20 个 id 回表取完整数据
- • 分页越深扫得越多,浅分页代价很小
- • ① 看执行计划:SQL 是否该走索引
- • ② 看服务器负载:磁盘 / 网络 / CPU
- • ③ profiling:定位最耗时的执行环节
- • ④ show engine innodb status:找引擎级异常指标
- • 大事务删除 = 长时间持有活跃状态
- • 删除只是打标记,数据还在(MVCC 需要)
- • 新事务 ReadView 包含长事务 → 必须扫标记数据
- • history list length 异常升高是关键信号
- • 大批量写删操作:拆小批 + 放低峰期