前言
建立索引后,如果不好知道自己建立的索引是否有用,就需要一个操作来判断一下我们是否通过索引进行了查询.那就是EXPLAIN关键字查询.比方说一条查询语句: EXPLAIN select * from t_user where id in(1,2,3,4,5);
查询结果如下:
最简单的就是possible_keys和key,前者表示当前表中拥有的索引,比方说主键和你自己建立的索引.后者表示查询时实际用到的索引.接下来,我们记一下每个字段表示的意义.
概要描述
- id:选择标识符
- select_type:表示查询的类型。
- table:输出结果集的表
- partitions:匹配的分区
- type:表示表的连接类型
- possible_keys:表示查询时,可能使用的索引
- key:表示实际使用的索引
- key_len:索引字段的长度
- ref:列与索引的比较
- rows:扫描出的行数(估算的行数)
- filtered:按表条件过滤的行百分比
- Extra:执行情况的描述和说明
具体描述
一、 id
SELECT识别符。这是SELECT的查询序列号
我的理解是SQL执行的顺序的标识,SQL从大到小的执行
1. id相同时,执行顺序由上至下