Oracle數據庫中用instr代替like實操
作者:佚名
我們今天主要向大家介紹的是在Oracle數據庫中如何用instr來代替like的實際操作,以下就是文章的具體內容的描述,望大家借鑒。
以下的文章主要介紹的是Oracle數據庫中用instr來代替like,假設表里有1100萬數據,在很多的情況下,我們對其進行相關的字符串匹配,在SQL語句的實際應用中,我們一般的使用like來達到我們搜索的目標。
但經過實際測試發(fā)現,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
注:
instr(title,’手冊’)>0 相當于like
instr(title,’手冊’)=0 相當于not like
上述的相關內容就是對Oracle數據庫用instr代替like的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】
- Oracle提高SQL的執(zhí)行效率的3種好用方法
- Oracle臨時表用法的經驗心得
- Oracle數據文件的特性介紹
- Oracle修改字段類型2種方案介紹
- Oracle數據庫的啟用與關閉的歸檔模式
責任編輯:佚名
來源:
互聯網