日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

解讀Oracle中代替like進行模糊查詢的方法instr(更高效)

瀏覽:172日期:2023-03-12 15:25:40
目錄
  • 一、簡介
  • 二、使用說明
    • 對應參數(shù)描述
    • 我們以一些示例講解使用方法
  • 三、instr()與like比較
    • instr函數(shù)也有三種情況
    • 下面通過一個示例說明like 與 instr()的使用比較
  • 四、效率對比
    • 五、總結

      一、簡介

      相信大家都使用過like進行模糊匹配查詢,在oracle中,instr()方法可以用來代替like進行模糊查詢,大數(shù)據(jù)量的時候效率更高。

      本文將對instr()的基本使用方法進行詳解以及通過示例講解與like的效率對比。

      二、使用說明

      instr(sourceString,destString,start,appearPosition) ? ??

      對應參數(shù)描述

      instr('源字符串' , '目標字符串' ,'開始位置','第幾次出現(xiàn)'),返回目標字符串在源字符串中的位置。

      后面兩個參數(shù)可要可不要。

      我們以一些示例講解使用方法

      【a】從開頭開始查找第一個‘h’出現(xiàn)的位置

      --從開頭開始查找第一個‘h"出現(xiàn)的位置select instr("zhangsan", "h") as idx from dual; --2

      查詢結果:

      【b】從開頭開始查找‘an’在字符串中的位置

      --從開頭開始查找‘a(chǎn)n"在字符串中的位置select instr("zhangsan","an") idx from dual; --3

      查詢結果:

      【c】從第一個位置開始查找,返回第二次出現(xiàn)‘a’的位置

      --從第一個位置開始查找,返回第二次出現(xiàn)‘a(chǎn)"的位置select instr("zhangsan","a",1,"2") idx from dual; --7

      查詢結果:

      【d】從倒數(shù)第一個位置開始,查找第一次出現(xiàn)‘a’的位置

      --從倒數(shù)第一個位置開始,查找第一次出現(xiàn)‘a(chǎn)"的位置select instr("zhangsan","a",-1,1) idx from dual;  --7

      查詢結果:

      【e】從倒數(shù)第一個位置開始,返回第二次出現(xiàn)‘a’的位置

      --從倒數(shù)第一個位置開始,返回第二次出現(xiàn)‘a(chǎn)"的位置select instr("zhangsan","a",-1,2) idx from dual;   --3

      查詢結果:

      三、instr()與like比較

      instr函數(shù)也有三種情況

      • a. instr(字段,'關鍵字') > 0 相當于 字段like '%關鍵字%': 表示在字符串中包含‘關鍵字’
      • b. instr(字段,'關鍵字') = 1 相當于 字段like '關鍵字%' 表示以‘關鍵字’開頭的字符串
      • c. instr(字段,'關鍵字') = 0 相當于 字段not like '%關鍵字%' 表示在字符串中不包含‘關鍵字’

      下面通過一個示例說明like 與 instr()的使用比較

      【a】使用like進行模糊查詢

      with temp1 as (select "zhangsan" as name from dual),temp2 as (select "zhangsi" as name from dual),temp3 as (select "xiaoming" as name from dual),temp4 as (select "xiaohong" as name from dual),temp5 as (select "zhaoliu" as name from dual) select * from (select * from temp1 union allselect * from temp2union allselect * from temp3union allselect * from temp4union all select * from temp5) res where res.name like "%zhang%"

      查詢字符串中包含‘zhang’的結果:

      【b】使用instr()進行模糊查詢

      (1) 查詢字符串中包含‘zhang’的結果:

      with temp1 as (select "zhangsan" as name from dual),temp2 as (select "zhangsi" as name from dual),temp3 as (select "xiaoming" as name from dual),temp4 as (select "xiaohong" as name from dual),temp5 as (select "zhaoliu" as name from dual) select * from (select * from temp1 union allselect * from temp2union allselect * from temp3union allselect * from temp4union all  select * from temp5) res where instr(res.name,"zhang") > 0;

      (2) 查詢字符串中不包含‘zhang’的結果:

      with temp1 as (select "zhangsan" as name from dual),temp2 as (select "zhangsi" as name from dual),temp3 as (select "xiaoming" as name from dual),temp4 as (select "xiaohong" as name from dual),temp5 as (select "zhaoliu" as name from dual) select * from (select * from temp1 union allselect * from temp2union allselect * from temp3union allselect * from temp4union all select * from temp5) res where instr(res.name,"zhang") = 0;

      (3) 查詢以‘zhang’開頭的字符串:

      with temp1 as (select "zhangsan" as name from dual),temp2 as (select "zhangsi" as name from dual),temp3 as (select "sizhangsan" as name from dual),temp4 as (select "xiaohong" as name from dual),temp5 as (select "zhaoliu" as name from dual) select * from (select * from temp1 union allselect * from temp2union allselect * from temp3union allselect * from temp4union all  select * from temp5) res where instr(res.name,"zhang") = 1;

      (4)instr與like特殊用法

      select id, name from users where instr("a, b", id) > 0;--等價于select id, name  from users where id = a    or id = b;--等價于select id, name from users where id in (a, b);

      四、效率對比

      【a】使用plsql創(chuàng)建一張十萬條數(shù)據(jù)測試數(shù)據(jù)表,同時為需要進行模糊查詢的列增加索引

      --創(chuàng)建10萬條測試數(shù)據(jù)create table test_instr_like as select rownum as id,"zhangsan" as name from dualconnect by level <= 100000; --name列建立索引create index idx_tb_name on test_instr_like(name);

      【b】使用like進行模糊查詢

      select * from TEST_INSTR_LIKE t where t.name like "%zhang%"

      總耗時: 60秒

      【c】使用instr進行模糊查詢

      select * from TEST_INSTR_LIKE t where instr(t.name, "zhang") > 0;

      總耗時:50秒

      由圖可見,instr查詢的速度確實比like快一些,但是,看執(zhí)行計劃的話,instr卻比like耗時一點。如下圖:

      五、總結

      以上是對instr基本使用方法的講解以及通過示例對比了like與instr的效率,在進行模糊查詢的時候,能用instr的話就盡量用instr,畢竟數(shù)據(jù)量大的時候還是有一點優(yōu)勢的,本文是筆者對like以及instr的一些總結和見解,僅供大家學習參考,也希望大家多多支持。

      標簽: Oracle
      相關文章:
      日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
      美女毛片一区二区三区四区| 激情国产在线| 精品国产亚洲一区二区三区大结局| 不卡在线一区二区| 欧美激情国产在线| 欧美在线91| 亚洲人成在线影院| 精品一区亚洲| 99久久视频| 999国产精品视频| 日韩欧美一区二区三区在线视频| 日韩有吗在线观看| 免费日韩一区二区| 蜜桃一区二区三区在线| 国产亚洲毛片在线| 亚洲一区日韩在线| 国产精品社区| 日韩中文欧美在线| 亚洲毛片一区| 日本不卡高清| 久久激情五月婷婷| 国产精品久久久久久久免费软件| 日韩精品一区二区三区中文在线| 亚洲日本久久| 国产精品一区二区三区av| 国产日产精品_国产精品毛片 | 麻豆精品久久久| 97精品国产福利一区二区三区| 91精品国产调教在线观看 | 日韩国产一二三区| 麻豆精品蜜桃视频网站| 免费成人网www| 日本不卡视频在线| 91福利精品在线观看| 国产精品视频3p| 国产精品资源| 国产一区二区三区不卡视频网站 | 久久91导航| 国产成人精选| 中文字幕高清在线播放| 91精品国产成人观看| 亚洲免费一区二区| 日韩av三区| 国产日韩三级| 天堂网av成人| 国产精品婷婷| 免费看一区二区三区| 一区二区三区四区日本视频| 日韩在线二区| 综合视频一区| 亚洲精品在线二区| 国产精品夜夜夜| 欧美一区二区三区激情视频| 亚洲va久久| 亚洲精品一区三区三区在线观看| 男人操女人的视频在线观看欧美| 亚洲人成网站在线在线观看| 久久精品日韩欧美| 久久亚洲国产| 国产日韩亚洲| 黄色成人精品网站| 久久亚洲资源中文字| 婷婷成人综合| 久久香蕉网站| 亚洲精品大片| 日韩精品一区二区三区免费观影| 日韩三级一区| 亚洲国产成人精品女人| 国产成人久久| 日韩国产在线一| 亚洲欧美日韩国产| 亚洲v在线看| 捆绑调教美女网站视频一区 | 久久国产精品亚洲77777| 精品免费视频| 免费福利视频一区二区三区| 国产欧美日韩亚洲一区二区三区| 久久男人av| 国产欧美日韩| 91欧美极品| 中文字幕视频精品一区二区三区| 国产精品久久久久久妇女| 在线精品福利| 福利一区二区三区视频在线观看| 日韩一区二区三区四区五区| 蜜桃av一区| 日韩亚洲精品在线| 欧美69视频| 欧美在线网站| 激情91久久| 国产精品普通话对白| 国产亚洲午夜| 亚洲精品一区二区妖精| 久久精品电影| 久久精品国产www456c0m| 五月天av在线| 欧美日韩色图| 久久人人精品| 欧美一区三区| 欧美精品一区二区久久| 日韩精品一区二区三区中文| 日韩精彩视频在线观看| 国产探花一区在线观看| 亚洲天堂黄色| 亚洲精品亚洲人成在线观看| 免费日本视频一区| 日韩av午夜在线观看| 日本久久一区| 久久女人天堂| 日韩欧美一区二区三区在线视频| 国内精品99| 日本一区二区三区中文字幕| 蜜桃av一区| 麻豆精品在线观看| 久久九九国产| 好看不卡的中文字幕| 青青草国产成人99久久| 久久亚洲黄色| 麻豆精品91| 国产精品hd| 日本不卡免费高清视频在线| 国产手机视频一区二区| 日韩av中文在线观看| 欧美天堂视频| 在线视频精品| 狂野欧美性猛交xxxx| 亚洲激情欧美| 国产视频一区二| 都市激情国产精品| 视频一区国产视频| 日韩伦理福利| 欧美精品中文| 999精品色在线播放| 国产精品蜜月aⅴ在线| 亚洲深爱激情| 色黄视频在线观看| 久久国内精品视频| 98精品视频| 国产伦理一区| 亚洲免费中文| 久久网站免费观看| 国产成人久久精品麻豆二区| 欧美特黄一区| 欧美日韩精品在线一区| 欧美国产美女| 精品视频国产| 国产精品亚洲二区| 青青国产精品| 国产日韩一区| 国产日韩欧美一区在线| 欧美久久香蕉| 国产亚洲欧美日韩精品一区二区三区 | 久久久成人网| 欧美另类中文字幕| 91成人精品视频| 久久久久久网| 欧美a在线观看| 国产精品极品国产中出| 国产精品片aa在线观看 | 快she精品国产999| 国产欧美亚洲一区| 国产精品亚洲一区二区三区在线观看| 波多野结衣久久精品| 免费国产自久久久久三四区久久| 欧美日韩视频| 日韩欧美三区| 婷婷成人在线| 亚洲精品自拍| 久久电影tv| 国产亚洲一区二区手机在线观看| 精精国产xxxx视频在线播放| 老司机久久99久久精品播放免费| 久久久久伊人| 日韩一区二区三免费高清在线观看| 精品久久久中文字幕| 亚洲乱码视频| 99久久精品网| 美女久久久精品| 综合激情婷婷| 亚洲精品一区三区三区在线观看| 日韩精品社区| 在线国产精品一区| 久久影视一区| 一区二区三区四区日本视频| 亚洲免费精品| 久久要要av| 美女国产一区二区三区| 天堂va欧美ⅴa亚洲va一国产| 久久中文视频| 久久三级福利| 国产一区二区三区久久久久久久久| 久久福利精品| 国产精品美女| 99视频精品| 欧美日韩国产一区精品一区| 麻豆理论在线观看| 亚洲深夜视频| 中文在线资源| 伊人久久av| 国产成人精品一区二区三区免费|