mysql使用like能不能使用索引,mysql索引使用like的時候出現的問題

問題描述:在使用like的時候發現沒有走預想的索引:

場景:表community中字段較多,創建了部分索引,如:

e5665a0cd4ef8f6f26dcb8a01eb4fa5a.png

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%'

具體分析如下:

583183d68ad971ab9cef5da3df3a9c0d.png

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

like '%keyword%'或者like '%keyword'是不會走索引的,但是當like 'keyword%'也不一定就會走索引,這樣看具體情況,如果select中查詢了其他字段【就是這個字段沒有在這個like所引用的組合索引或者索引字段中,除了id字段之外】這樣的情況就不會走索引,如果想要走自己想要的索引,可以添加上force index(ziduan1_index),這樣就可以了,例如:

2c09d2df80832b8b79f89966b0fcd8cb.png

使用like走索引的情況:

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

207e33cf4c32ab888072dc82a7282762.png

自己測試的:

95ed5cda0cde814524138696a1951c9b.png

需要研究的:

b044c2cd177290802cb38e52b62bdf90.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值