MySQL 中为什么加了索引还是慢?从执行计划到索引下推的一次排查记录
线上有个订单列表接口最近隔三差五超时,日志里慢查询指向一条看起来再普通不过的分页 SQL:select * from orders where shop_id = ? and status = ? order by created_at desc limit 0, 20。shop_id 和 status 上都有单列索引,created_at 也有索引,按直觉应该走一个索引就够了,但实际执行经常要扫几十万行。这类问题的原因往往不是“索引没建”,而是优化器选错了索引、联合顺序不匹配、排序...