oracle like 、regexp_like和 instr
在日常数据库使用中,模糊查询是使用最普遍的一种用法,但是在面对数据量较大而且索引不确定的情况下,使用哪种方式能够更快更直接的得到查询的结果。
like用法最简单,但是尽量少用%a%,双百分号的模式,因为此种情况下查询效率最低,即便是查询的字段有索引也会因为双向的模糊匹配,不能发挥索引的作用。
regexp_like 是oracle的正则表达式的方式,他可以应对各种特殊情况的检索,结合正则表达式的一些特殊字符,可以实现一些like不能实现的功能,限定多个条件。但是,regexp_like 的查询效率不是很高,功能强大限制该函数的效率。
instr 该函数类似双百分号?的形式,但是效率经测试会高于like的双百分号,但是如果是单百分号,还是建议用like。
在处理一些大数据量的查询的情况下,可以结合三个函数,测试谁的效率高用哪一个。