mysql之explain详解(分析索引的最佳使用)
表示 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 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |