oracle 模糊查询优化

数据量如何上千万建议使用全文索引,维护成本相对较高,如果几百万的数据,使用 like  '%关键字%' 的查询方式,因为不走索引,效率不高,单 ‘%’ 匹配又不符合业务逻辑,如何优化? 

数据库中有表数据量 一百万左右

oracle 模糊查询优化

  • 使用传统 like '%关键字%' 进行查询 查询 耗时  0.764 秒

oracle 模糊查询优化

  • 使用 instr(字段,’关键字’)>0 方式查询,耗时 0.483秒 ,效率要相对高一点

    注:

      instr(字段,’关键字’)>0 相当于like

      instr(字段,’关键字’)=0 相当于not like

oracle 模糊查询优化