mysql instr 函数

今天在开发的时候,,发现 一个大神这样写SQL :

select o from BankCodeMapping as o where instr('xxxxxxxxx',o.code)=1");

其实是和 like '%xxx%' 要的效果类似,,, 我之前还想着,,可以 使用模糊查询呢,,第一次看到这个函数。。 百度了一下,,原来可以 提高模糊查询的效率的,,,学习了。。。

http://www.cnblogs.com/chaobest/p/6737901.html http://www.cnblogs.com/benbenhuan/p/5383282.html

上面的语句用explain解释来看,SQL语句并未用到索引,而且是全表搜索,如果在数据量超大的时候,可想而知最后的效率会是这样

对比下面的写法:

SELECT column FROM table WHERE field like 'keyword%'; 这样的写法用explain解释看到,SQL语句使用了索引,搜索的效率大大的提高了!

但是有的时候,我们在做模糊查询的时候,并非要想查询的关键词都在开头,所以如果不是特别的要求,"keywork%"并不合适所有的模糊查询

转载于:https://my.oschina.net/ouminzy/blog/1531357

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值