程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle數據庫中用instr代替like實操

Oracle數據庫中用instr代替like實操

編輯:Oracle數據庫基礎

以下的文章主要介紹的是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數據庫


上述的相關內容就是對Oracle數據庫用instr代替like的描述,希望會給你帶來一些幫助在此方面。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved