Mysql explain 中type 类型说明

首先: explain 的作用: 

         可以通过explain 去记录展示 MySQL数据库运行的的相关参数;进行慢查询分析优化;

 

Mysql 中explain中type 类型说明:(级别由低到高,查询速度越来越快)

 

ALL  --全表扫描,查找匹配的行,(这个是最慢的)

 

INDEX--  使用索引  where 条件中没有用到索引,但是用索引就能完成扫描全表; 速度有提升;

 

RANGE ----使用索引范围扫描,索引范围扫描,常见于<、<=、>、>=、between等操作符; 

REF----使用非唯一性索引或者唯一索引的前缀扫描,返回匹配某个单独值的记录行; 使用了前缀索引

eq_ref--- 相对于ref来说就是使用的是唯一索引,对于每个索引键值,只有唯一的一条匹配记录; 一般用于联表查询;

CONST or SYSTEM --- 这个是通过索引很快技能定位到一行匹配的数据,就像一个常量一行(很快);

                             单表中最多只有一条匹配行,查询起来非常迅速,

                             select * from table_name where tableI_id =' '

                             table_id 为主键索引,或则唯一索引,

NULL --- 这个是sql 语句是不经过表就能返回结果的 

           select  1 from dual;  不通过表就能查询到数据。

 

截图留念

Mysql explain 中type 类型说明_第1张图片

 

第二个知识点: 

  首先是:什么是索引? 为什么要建立索引?

 建立索引的目的是:加快表的查询速度,若一张表数据量很小,很快就能找到想要的信息,这样就不需要建立索引,随着表的                                     数据量增加,这个时候就需要扫描全表,查询到匹配的信息,这样就需要花费更多的时间,这样索引就出
                                 并且很快就能到数据。

 建立索引有两种方式: Btree  Hash;  现在都采用B+ tree;

   

     索引的分类:

         |---单列索引
             |---普通索引  就是纯碎的建立索引,就是为了查询快一点,可有有空值,可以有重复值;
             |---唯一索引  单列的值保证不能重复,但是可以有空值,只能有一个;
             |---主键索引  特殊的唯一索引,主键值不能为空值
        |---组合索引
            ------ 这个多列索引,最主要的有个最左原则
        |---全文索引
           ------ 这个是myIsam 引擎下的能建立全文索引, 但是字段必须是varchar  clob blog text; 
 

 

 

 

     

 

 

 

 

你可能感兴趣的:(Mysql)