美文网首页
sql语句查询,多字段like模糊查询优化

sql语句查询,多字段like模糊查询优化

作者: 23d7c1910238 | 来源:发表于2018-05-27 17:21 被阅读0次

    1、多字段like模糊查询优化:
    最常见的写法:
    where a like '%xx%' or b like '%xx%' or c like '%xx%';
    这种写法查询效率低,经过调查,下面的方法可以替代,并且效率高:
    2、如果like的关键字相同:
    where instr(nvl(a, '')||nvl(b,'')||nvl(c,''), 'xx') > 0
    把要模糊查询的字段先拼接起来,拼接时需要把null转成‘’,否则只要有一个字段值是空,整个拼接的字符串都成空了, 然后用instr 函数去过滤;
    3、如果like的关键字不同:
    where instr(a, 'xx') > 0 or instr(b, 'yy') > 0 or instr(c, 'zz') > 0
    经过测试,这两种方法都比like效率要高;

    相关文章

      网友评论

          本文标题:sql语句查询,多字段like模糊查询优化

          本文链接:https://www.haomeiwen.com/subject/pgzbjftx.html