mysql索引实例-explain-type类型分析

知识概括

       a.    all  全表扫描

       b.     index  按照索引顺序的全表扫描

       c.     range 有范围的索引扫描 ,between,and以及'>','<'外,in和or均是索引范围扫描

       d.     ref  使用了非主键或者非唯一索引的普通索引(即索引可以重复情况下的)

       e.     ref_eq 使用了唯一索引的查询

       f.     const 使用了主键索引的查询

1.建表

create table indexTest(
 id int(3) not null auto_increment,
 a int(3) not null default 0,
 b int(3) not null default 0,
 c int(3) not null default 0,
 primary key(id),
 key in_ab (a,b)
)engine=INNODB default charset=utf8;

2.插入数据

insert into indexTest(id,a,b,c) values (3,4,2,4);
insert into indexTest(id,a,b,c) values (2,7,6,5);
insert into indexTest(id,a,b,c) values (4,4,1,6);
insert into indexTest(id,a,b,c) values (1,4,4,9);
insert into indexTest(id,a,b,c) values (5,2,7,2);
insert into indexTest(id,a,b,c) values (7,4,0,0);

3.SELECT * from indexTest;

     查询到的结果集,自动按照id升序排序;实质为数据在插入的时候,会自动按照主键索引进行排序。

4.all的全表查询

    在第二条语句中,如果使用索引a的结构,获取到数据,则由于部分需要的数据在索引a的结构不存在,此时需要逐个从主键索引结构中获取,此时性能更加低下。

5. index  按照索引顺序的全表扫描

    按照索引顺序的全表扫描

 

6. range 有范围的索引扫描

,between,and以及'>','<'外,in和or均是索引范围扫描

7.ref 普通索引查找

使用了非主键或者非唯一索引的普通索引(即索引可以重复情况下的)

8.const 使用了主键索引的查询

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值