大家帮我看一下, 这两个sql有什么区别, 哪个查询起来会更快 

解决方案 »

  1.   

    通配符'_'匹配单个字符,不能多也不能少。
    通配符'%'匹配零个,一个或者多个字符。
    所以like '_%' 表示至少得有一个字符,也可以是多个字符。看起来两者功能基本上没区别,即使性能上有区别,也应该差别不大的。但通配符是不被推荐的用法,因为通配符搜索的速度通常较慢。
    所以使用!=''应该是一种更好的选择。
      

  2.   


    我要找的字段是主key, 我测试结果是like "_%"快一点
      

  3.   

     主键? 贴出你的 show index from table1;你是如何测试的?
      

  4.   

    create table xx(aab varchar(18), primary key(aab));
      

  5.   

    create table xx(aab varchar(18), primary key(aab));
      

  6.   

    show index from xx; 贴出来看看。
      

  7.   


    create table xx(aab varchar(18), primary key(aab));aab也就是index
      

  8.   

    like "_%" 索引有效
    !="" 索引无效因此,前者快些