欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql索引使用like的时候出现的问题

程序员文章站 2022-06-02 19:06:43
...

问题描述:在使用like的时候发现没有走预想的索引:

  场景:表community中字段较多,创建了部分索引,如:

 mysql索引使用like的时候出现的问题

EXPLAIN select t1.id,t1.baidu_latitude,t1.baidu_longitude,t1.community_name_alias,t1.community_address_alias FROM community t1  WHERE t1.city_id= 110100 and t1.baidu_latitude like '31.238%' and t1.baidu_longitude like '121.46%'

具体分析如下:

 mysql索引使用like的时候出现的问题

 

 

知道like在某些情况下是不会使用索引的,但是有些情况是走索引的:例如:

like '%keyword%'或者like '%keyword'是不会走索引的,但是当like 'keyword%'也不一定就会走索引,这样看具体情况,如果select中查询了其他字段【就是这个字段没有在这个like所引用的组合索引或者索引字段中,除了id字段之外】这样的情况就不会走索引,如果想要走自己想要的索引,可以添加上force index(ziduan1_index),这样就可以了,例如:

 mysql索引使用like的时候出现的问题

 

 

 

使用like走索引的情况:

查询的字段都得是组合索引中的才行,例如:

 mysql索引使用like的时候出现的问题

 

 

 

自己测试的:

 mysql索引使用like的时候出现的问题

 

 

需要研究的:

 mysql索引使用like的时候出现的问题