EXPLAIN SELECT * FROM students WHERE age >20;
执行以上SQL语句,可以通过EXPLAIN关键字查看执行计划。执行计划包含多列信息,以下是一些比较常见的列:
- id:查询的标识符,一次查询中每个SELECT子句都有一个唯一的标识符
- select_type:查询的类型,包括简单查询(SIMPLE)、联合查询(UNION)、子查询(SUBQUERY)等
- table:表名
- partitions:用于存储数据的分区
- type:访问类型,包括全表扫描(ALL)、索引扫描(RANGE、REF、EQ_REF)等
- possible_keys:可能使用的索引
- key:实际使用的索引
- key_len:索引的长度
- ref:显示与索引比较的列
- rows:所需扫描的行数
- Extra:其他信息,包括使用临时表等
通常情况下,大家可以通过优化查询语句或添加索引等方法来优化执行计划,从而改善查询性能。