一条SQL语句走多久?看懂EXPLAIN就懂了
时间:2026-05-30 22:04:47 阅读:2
几百万行数据的表上,一条 SQL 可能慢到让人崩溃。EXPLAIN 就是用来排查的。
关键字段
type:访问类型。ALL 是全表扫描,最慢。rows:预估扫描行数,越大越慢。Extra:看到 Using filesort 或 Using temporary 说明没走索引。key:实际用到的索引,为 NULL 说明没走。常见问题
type=ALL rows=100万:检查 where 条件字段是否有索引。Extra 有 Using filesort:order by 字段加索引。rows 很小但很慢:查出来的数据量大,加 limit。联合索引最左前缀
索引 (a,b,c) 能匹配 where a=1 AND b=2 AND c=3,但不能匹配 where b=2。写 SQL 时过滤性最强的字段放最左边。



提供云计算服务