MySql之索引

1.在使用LIKE关键字进行模糊查询时,查询如果是 %a、_a不会使用到索引,而aaa%、a%b、a_b会使用到索引。也就是说,关键字的开头必须是确定的,index才会产生作用,比如:

explain select * from user where dname like '%5a'\G

不能使用索引,即,在like查询时,关键字最前面,不能使用 % 或者 _这样的字符, 如果一定要前面有变化的值,则考虑使用全文索引->sphinx。

接下来我们进行测试,首先建立一个简单的表,并在password字段上建立了普通索引,如下图所示:
这里写图片描述

由下图所示,采用%5的模糊查询时,type为all,同时key为null,那么mysql采用了全表扫描,并没有采用index。
这里写图片描述

当采用5%的模糊查询时,type为range,同时可以为password,显然采用了index。
这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值