mysql语句中使用like后面的%(百分号)的问题,mysqllike
问题: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执行的速度。这几种方法的效率都是差不多的。
以上是我测试的结果。个人可根据自己的实际需求去选择写法!建议是最好选择第二种!
两个办法吧:
第一个 在textbox.text 的语句后面加个转义的的吧 select * form tablename where fieldname like '"@ + TextBox1.Text + "'
第二个办法 把SQL语句写成这样 select * form tablename where fieldname like '%" + TextBox1.Text + "%'
MySQL应该用%,字符串类型加上引号
select * from haoma where tel like '137%'
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。