三种like查询
1 like 'memo%'
2 like '%memo'
3 like '%memo%'=============
第一种通过建索引能加快查询速度
第二种我想了一个方法不知道能不能实现,请大家帮忙评估一下。找一个将字符串逆转的函数(也就是将字符串倒序,我没找到这样的函数,不知道大家有没有见过)
给字段建函数索引
查询时用like 'omem%'第三种我一时想不出什么好办法,麻烦各位指点一下,谢谢

解决方案 »

  1.   

      对于like memo,提高查询效率的方法有:
      1.使用右匹配,如:like 'memo%'
      2.使用instr代替,然后建立instr函数索引. 如: instr(字段名,'memo')>0;
      3.在查询的字段和like的字段上面建一个复合索引,这样在查询的时候就会走全索引扫描,即从索引段直接取数据,而不会再去查表了。
      

  2.   

    怎么建instr函数索引? 我这里查询时like的内容是不固定的memo 由用户输入
    不知道这种情况怎么建索引?
      

  3.   


    对于你第2种: like '%memo'
    模糊查询时不走索引的
    你可以用精确查询,如:
    SubStr(col,Length(col),-4)='memo'
      

  4.   

    建函数索引 
    instr(col,'omem')>0create index idx_name on tb(instr(col,'omem'))
      

  5.   

    memo只是举例 实际上是不确定的 由用户输入 
      

  6.   

    http://hi.baidu.com/andyx_5/item/63d44915816b9359f0090e77
      

  7.   

    ls的链接是介绍实现like查询的另一种方法,对于效率没有提高