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' ";

解决方案 »

  1.   

     根据具体要求
    不确定的情况下用LIKE
      

  2.   

    $sqlEqual = "SELECT * FROM tb1 WHERE `name` = '$name' ";
    $sqlLike = "SELECT * FROM tb1 WHERE `name` LIKE '$name' ";如果单看这两个语句,对MYSQL来说相同,没什么差别。 
    但如果你的LIKE后有 %则不同。= 和 LIKE 本身的含义不同。 如果不含 % 对MYSQL来说则一样。
      

  3.   

    like如果没有%进行模糊匹配其实就是=