Mysql优化工具:explain
已于 2025年02月26日 10:20 修改
访问次数:12
在上面的 EXPLAIN 输出结果中,各个参数的含义如下:
- id: 每个 SELECT 查询的序列号,如果查询中包含子查询,则每个子查询的序列号都会显示在这里。
- select_type: 查询的类型,常见的有:SIMPLE: 简单查询,不包含子查询或 UNION。PRIMARY: 主查询,包含子查询或 UNION。SUBQUERY: 子查询,作为另一个查询的一部分。UNION: UNION 查询的第二个及后续的查询。
- table: 查询涉及的表名。
- partitions: 查询涉及的分区名。
- type: 表示连接类型,常见的有:system: 表中只有一行的情况。const: 使用主键或唯一索引查找时只返回一行的情况。eq_ref: 对于每个索引键值,表中只有一行匹配的情况。ref: 对于每个索引键值,可能会找到多个匹配行的情况。range: 使用索引范围查找的情况。index: 完全扫描索引的情况。ALL: 完全扫描表的情况。
- possible_keys: 可能使用的索引。
- key: 实际使用的索引。
- key_len: 使用的索引长度。
- ref: 显示索引哪一列与列值进行比较。
- rows: 估计需要检查的行数。
- filtered: 表示按表条件过滤后,剩余行的比例。
- Extra: 额外的信息,可能包括如下内容:Using filesort: 使用了文件排序。Using temporary: 使用了临时表。Using index: 使用了覆盖索引等。
这些参数可以帮助你理解 MySQL 执行查询的方式,从而优化查询性能。
评论(0)