欢迎光临
我们一直在努力

Oracle数据库中用instr代替like实操

以下的文章主要介绍的是Oracle数据库中用instr来代替like,假设表里有1100万数据,在很多的情况下,我们对其进行相关的字符串匹配,在SQL语句的实际应用中,我们一般的使用like来达到我们搜索的目标。

但经过实际测试发现,like的效率与instr函数差别相当大。下面是一些测试结果:


 
  1. SQL> set timing on  
  2. SQL> select count(*) from t where instr(title,’手册’)>0;  
  3. COUNT(*)  
  4. ———-  
  5. 65881  
  6. Elapsed: 00:00:11.04  
  7. SQL> select count(*) from t where title like ‘%手册%’;  
  8. COUNT(*)  
  9. ———-  
  10. 65881  
  11. Elapsed: 00:00:31.47  
  12. SQL> select count(*) from t where instr(title,’手册’)=0;  
  13. COUNT(*)  
  14. ———-  
  15. 11554580  
  16. Elapsed: 00:00:11.31  
  17. SQL> select count(*) from t where title not like ‘%手册%’;  
  18. COUNT(*)  
  19. ———-  
  20. 11554580  

注:

instr(title,’手册’)>0 相当于like

instr(title,’手册’)=0 相当于not like

上述的相关内容就是对Oracle数据库用instr代替like的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. Oracle提高SQL的执行效率的3种好用方法
  2. Oracle临时表用法的经验心得
  3. Oracle数据文件的特性介绍
  4. Oracle修改字段类型2种方案介绍
  5. Oracle数据库的启用与关闭的归档模式

 

赞(0) 打赏
未经允许不得转载:九八云安全 » Oracle数据库中用instr代替like实操

评论 抢沙发