关于数据库“EXPLAIN”相关说明
📅 2026/7/30 17:12:48
👁️ 阅读次数
📝 编程学习
一、在SQL调优的时候,我们经常会使用"EXPLAIN"语句来获取查询执行计划的详细信息,通过执行计划的结果进一步分析调优。
二、使用方式:在需要查看执行计划的SQL语句前面加上“explain”即可
三、结果参数说明:
1、id:表示查询中执行操作的顺序。如果查询涉及多个操作,该值将根据操作的执行顺序递增
2、select_type:表示操作类型,可能的值包括:
- "SIMPLE"(简单的SELECT查询)
- "PRIMARY"(外层查询)
- "SUBQUERY"(子查询)
- "DERIVED"(派生表查询)
- "UNION"(UNION查询)等
3、table:表示操作所涉及的表名
4、partitions:表示操作所涉及的分区
5、type:表示访问类型,即在执行操作时使用的访问方法。根据访问类型的优劣,可以判断查询性能的好坏(system > const > eq_ref > ref > range > index > ALL)。常见的值包括:
- "ALL"(全表扫描)
- "index"(通过索引扫描)
- "range"(范围扫描)
- "ref"(使用非唯一索引进行查找)
- "eq_ref"(使用唯一索引进行查找)等。
6、possible_keys:表示可能使用的索引列表
7、key:表示实际使用的索引
8、key_len:表示索引的长度
9、ref:表示哪个列或常量与索引进行比较
10、rows:表示预计需要检查的行数
11、filtered:表示通过索引过滤的行的百分比
12、Extra:表示附加信息,可能包含关于查询的其他信息,如"Using filesort"(使用文件排序)或"Using temporary"(使用临时表)等
编程学习
技术分享
实战经验