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

mysql之explain详解

发布时间:2022-11-03 11:09:32 所属栏目: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
 

(编辑:天瑞地安资讯网)

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