Oracle數(shù)據(jù)庫(kù)中用instr代替like實(shí)操
以下的文章主要介紹的是Oracle數(shù)據(jù)庫(kù)中用instr來代替like,假設(shè)表里有1100萬數(shù)據(jù),在很多的情況下,我們對(duì)其進(jìn)行相關(guān)的字符串匹配,在SQL語句的實(shí)際應(yīng)用中,我們一般的使用like來達(dá)到我們搜索的目標(biāo)。
但經(jīng)過實(shí)際測(cè)試發(fā)現(xiàn),like的效率與instr函數(shù)差別相當(dāng)大。下面是一些測(cè)試結(jié)果:
- SQL> set timing on
- SQL> select count(*) from t where instr(title,’手冊(cè)’)>0;
- COUNT(*)
- ———-
- 65881
- Elapsed: 00:00:11.04
- SQL> select count(*) from t where title like ‘%手冊(cè)%’;
- COUNT(*)
- ———-
- 65881
- Elapsed: 00:00:31.47
- SQL> select count(*) from t where instr(title,’手冊(cè)’)=0;
- COUNT(*)
- ———-
- 11554580
- Elapsed: 00:00:11.31
- SQL> select count(*) from t where title not like ‘%手冊(cè)%’;
- COUNT(*)
- ———-
- 11554580
注:
instr(title,’手冊(cè)’)>0 相當(dāng)于like
instr(title,’手冊(cè)’)=0 相當(dāng)于not like
上述的相關(guān)內(nèi)容就是對(duì)Oracle數(shù)據(jù)庫(kù)用instr代替like的描述,希望會(huì)給你帶來一些幫助在此方面。
【編輯推薦】
- Oracle提高SQL的執(zhí)行效率的3種好用方法
- Oracle臨時(shí)表用法的經(jīng)驗(yàn)心得
- Oracle數(shù)據(jù)文件的特性介紹
- Oracle修改字段類型2種方案介紹
- Oracle數(shù)據(jù)庫(kù)的啟用與關(guān)閉的歸檔模式