oracle中like和in的效率,ORACLE中Like与Instr性能大比拼

Oracle 中INSTR方法

INSTR方法的花式为

INSTR(源字符串, 方针字符串, 早先位置,

婚配序号)

例 如:INSTR("CORPORATE FLOOR","OR", 3, 2)中,源字符串为"CORPORATE FLOOR",

方针字符串为"OR",早先位置为3,取第2个婚配项的位置。

默许查找次第为从左到左。当早先位置为负数的时候,从左边开初查找。

所 以SELECT INSTR("CORPORATE FLOOR", "OR", -1, 1)

"Instring" FROM DUAL的隐示结局是

Instring

——————

14

t表中快要有1100万数据,很多时候,我们要进行字符串婚配,正在SQL语句中,我们泛泛应用like来到达我们搜刮的方针。但颠末实践测试发现,like的效

率取instr函数好异相等大年夜。下里是一些测试结局:

SQL> set timing on

SQL> select count(*) from t where

instr(title,’手册’)>0;

COUNT(*)

———-

65881

Elapsed: 00:00:11.04

SQL> select count(*) from t where title like

‘%手册%’;

COUNT(*)

———-

65881

Elapsed: 00:00:31.47

SQL> select count(*) from t where

instr(title,’手册’)=0;

COUNT(*)

———-

11554580

Elapsed: 00:00:11.31

SQL> select count(*) from t where title not like

‘%手册%’;

COUNT(*)

———-

11554580

另外,我正在另外一个2亿多的表,应用8个并行,应用like查询很久都不出来结局,但应用instr,4分钟即完成查找,机能是相等的好。这些小本领用好,工做苦守进步很多。颠末过程上里的测试道明,ORACLE内建的一些函数,是颠末相等程度的劣化的。

毗连天点:http://blog.163.com/cuitianlin044@126/blog/static/62851592201061421033283/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值