mysql 之 索引

索引匹配方式:

如果设置的索引是 name,age,pos。

 

1:全值匹配
    全值匹配指的是和索引中的所有列进行匹配
        explain select * from staffs where name = 'July' and age = '23' and pos = 'dev';
2:匹配最左前缀
    只匹配前面的几列(只能按照顺序索引,顺序必须是 name,age,pos,如果where按照 pos,name,age将不能执行索引查询
        explain select * from staffs where name = 'July' and age = '23';
        explain select * from staffs where name = 'July';
3:匹配列前缀 (这样查询虽然用到索引了但是相比于全职匹配速度还是慢)
    可以匹配某一列的值的开头部分
        explain select * from staffs where name like 'J%';
        explain select * from staffs where name like '%y';
4:匹配范围值(因为第一个是name,之后的匹配都不算索引
    可以查找某一个范围的数据
        explain select * from staffs where name > 'Mary';
5:精确匹配某一列并范围匹配另外一列
    可以查询第一列的全部和第二列的部分
        explain select * from staffs where name = 'July' and age > 25;
 

 

覆盖索引:

就是  select name ,pos   from staffs where name = 'July' and age = '23' and pos = 'dev'; 这就是覆盖索引,设置的索引是 name,age,pos, 我查询的数据,为name,和pos, 设置了索引,查询的时候不需要回标了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值