EXPLAIN查看MySQL执行计划返回列各项标识什么

EXPLAIN查看MySQL执行计划返回列各项标识什么

EXPLAIN SELECT * FROM table WHERE condition;

执行以上语句会返回查询语句的执行计划,即MySQL的查询优化器在执行这个查询语句时所选择的执行路径。执行计划包含以下列:

id: 查询的唯一标识符,可以通过这个id来找到相应的行
select_type: 查询的类型,分为以下几种:
- SIMPLE: 简单查询
- PRIMARY: 包含复杂的子查询或UNION查询的最外层查询
- SUBQUERY: 出现在WHERESELECT中的子查询
- DERIVED: 通过FROM子句中的子查询导出的表
- UNION: 多个SELECT的联合查询
table: 查询的表名
type: 访问表的方式,从最优到最差包括以下几种:
- system: 表只有一行
- const: 基于常量的表
- eq_ref: 主键或唯一索引扫描
- ref: 非唯一索引扫描
- range: 使用索引范围查找
- index: FULL INDEX SCAN
- ALL: 全表扫描
possible_keys: 可能使用的索引
key: 实际使用的索引
key_len: 使用的索引长度
ref: 关联的列
rows: 扫描需要的行数
Extra: 额外信息

你可能感兴趣的:(mysql,数据库)