mysql语句中使用like后面的%(百分号)的问题
2015-01-20来源:

问题:mysql语句中使用like后面的%(百分号) 是不是越多执行效率越慢!

总用时:0.0489秒 0.0691 0.0485 0.0467

select `goods_name`, `goods_img`, `sku_id`, `import` from `goods` where `goods_name` like '%iphone%ipod%' and `stime` < 1413877244 and `etime` > 1413877244 order by `flag` desc

总用时:0.0460秒 0.0430 0.0493 0.0783 0.0496

select `goods_name`, `goods_img`, `sku_id`, `import` from `goods` where `goods_name` like '%iphone%' and `goods_name` like '%ipod%' and `stime` < 1413877367 and `etime` > 1413877367 order by `flag` desc

总用时:0.0458秒 0.0441秒 0.0449秒

select `goods_name`, `goods_img`, `sku_id`, `import` from `goods` where `goods_name` like '%%%%%%%%%%%%%%%%%%%%%%%iphone%ipod%%%%%%%%%%%%%%%%%%%%%%%' and `stime` < 1413877997 and `etime` > 1413877997 order by `flag` desc

实践证明,百分号的数量不影响sql执行的速度。这几种方法的效率都是差不多的。

以上是我测试的结果。个人可根据自己的实际需求去选择写法!建议是最好选择第二种!

更多信息请查看IT技术专栏

推荐信息
Baidu
map