【疑惑】mysql select like select equal 区别

用户昵称不能为空 2012-12-29 01:43:06
mysql针对字符串类型才查询,可以使用“select like”也可以使用“select =”。
很明显的“select =”效率更高,速度更快。但是看到很多人写的程序,仍旧是针对varchar和char字段的查询只用 select like。

现在想弄清楚一下,如果不是含有 “%”模糊查询的条件下,什么情况下适合用like,什么情况下适合用equal(=)。


$sqlEqual = "SELECT * FROM tb1 WHERE `name` = '$name' ";
$sqlLike = "SELECT * FROM tb1 WHERE `name` LIKE '$name' ";







...全文
299 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2012-12-30
  • 打赏
  • 举报
回复
like如果没有%进行模糊匹配其实就是=
ACMAIN_CHM 2012-12-29
  • 打赏
  • 举报
回复
$sqlEqual = "SELECT * FROM tb1 WHERE `name` = '$name' "; $sqlLike = "SELECT * FROM tb1 WHERE `name` LIKE '$name' "; 如果单看这两个语句,对MYSQL来说相同,没什么差别。 但如果你的LIKE后有 %则不同。= 和 LIKE 本身的含义不同。 如果不含 % 对MYSQL来说则一样。
WWWWA 2012-12-29
  • 打赏
  • 举报
回复
 根据具体要求 不确定的情况下用LIKE

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧