加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql之explain详解(分析索引的最佳使用)

发布时间:2022-11-01 15:02:37 所属栏目:MySql教程 来源:互联网
导读: Using where
表示 MySQL 服务器从存储引擎收到行后再进行“后过滤”(Post-filter)。所谓“后过滤”,就是先读取整行数据mysql索引表,再检查此行是否符合 where 句的条件,符合就留下,不

Using where

表示 MySQL 服务器从存储引擎收到行后再进行“后过滤”(Post-filter)。所谓“后过滤”,就是先读取整行数据mysql索引表,再检查此行是否符合 where 句的条件,符合就留下,不符合便丢弃。因为检查是在读取行后才进行的,所以称为“后过滤”。

Using temporary

使用到临时表

建表及插入数据:

create table a(a_id int, b_id int);

insert into a values(1,1),(1,1),(2,1),(2,2),(3,1);

mysql> explain select distinct a_id from a\G

Extra: Using temporary

MySQL 使用临时表来实现 distinct 操作。

Using filesort

若查询所需的排序与使用的索引的排序一致,因为索引是已排序的,因此按索引的顺序读取结果返回,否则,在取得结果后,还需要按查询所需的顺序对结果进行排序,这时就会出现 Using filesort 。

select * from a order by id;

对于没有索引的列进行order by 就会出现filesort

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!