一条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 时过滤性最强的字段放最左边。

上一篇:Nginx配置里最容易配错的5个地方

下一篇:服务器被入侵?一个简单的SSH安全配置能挡住90%的扫描