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

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

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

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

      一、簡介

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

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

      二、使用說明

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

      對應參數描述

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

      后面兩個參數可要可不要。

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

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

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

      查詢結果:

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

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

      查詢結果:

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

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

      查詢結果:

      【d】從倒數第一個位置開始,查找第一次出現‘a’的位置

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

      查詢結果:

      【e】從倒數第一個位置開始,返回第二次出現‘a’的位置

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

      查詢結果:

      三、instr()與like比較

      instr函數也有三種情況

      • 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創建一張十萬條數據測試數據表,同時為需要進行模糊查詢的列增加索引

      --創建10萬條測試數據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快一些,但是,看執行計劃的話,instr卻比like耗時一點。如下圖:

      五、總結

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

      標簽: Oracle
      相關文章:
      日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
      精品久久99| 欧美午夜精彩| 综合激情一区| 亚州av一区| 久久精品人人| 久久精品123| 久久天堂成人| 亚洲欧美日本日韩| 蜜桃视频在线观看一区| 97久久精品| 四季av一区二区凹凸精品| 欧美日韩视频网站| 日韩欧美精品综合| 伊人久久亚洲热| 四虎在线精品| 日韩.com| 中文字幕一区二区精品区| 欧美日韩a区| 亚洲永久av| 亚洲色图国产| 精品一区二区三区在线观看视频| 国产粉嫩在线观看| 久久亚洲美女| 国产成人久久精品麻豆二区| 蜜桃成人av| 欧美自拍一区| 亚洲天堂免费电影| 亚洲欧美久久| 国产精品久久久久久久久免费高清 | 日韩高清不卡一区二区| 精品免费视频| 亚洲乱码一区| 激情综合激情| 国产精品jk白丝蜜臀av小说| 一区免费视频| 一本大道色婷婷在线| 美美哒免费高清在线观看视频一区二区 | 久久蜜桃av| 国产精品久av福利在线观看| 伊人影院久久| 91看片一区| 国产66精品| 国产精品久久国产愉拍| 麻豆久久精品| 亚洲激情五月| 国精品一区二区| 亚洲深夜视频| 国产日韩中文在线中文字幕 | 亚洲伊人精品酒店| 美女少妇全过程你懂的久久| av中文字幕在线观看第一页| 久久99久久久精品欧美| 日本麻豆一区二区三区视频| 视频在线在亚洲| 亚洲欧美高清| 日韩午夜电影| 日韩在线卡一卡二| 免费久久精品视频| 欧美日韩日本国产亚洲在线| 日本在线高清| 国产探花一区| 久久国产日韩| 日本综合精品一区| 亚洲中午字幕| 中文字幕av一区二区三区四区| 国产精品免费看| 亚洲专区视频| 国产日产一区| 日本久久黄色| 亚洲精品va| 亚洲一级大片| 久久激情五月激情| av中文字幕在线观看第一页| 色88888久久久久久影院| av中文资源在线资源免费观看| 伊人久久高清| 少妇高潮一区二区三区99| 久久精品超碰| 午夜精品久久久久久久久久蜜桃| 国产精品99一区二区| 在线国产一区| 欧美日韩一区二区国产| 成人在线视频中文字幕| 午夜精品婷婷| 国产精品日本一区二区不卡视频 | 国产一区调教| 99精品国产一区二区三区| 夜夜嗨网站十八久久 | 精品三级久久久| 91久久中文| 嫩草伊人久久精品少妇av杨幂| 亚洲v在线看| 欧美黑人做爰爽爽爽| 亚洲激情国产| 国产一区一一区高清不卡| 精品在线播放| 成人亚洲精品| 日韩精品免费观看视频| 91亚洲国产成人久久精品| 先锋影音久久久| 日韩在线高清| 国产精品蜜月aⅴ在线| 精品91久久久久| 麻豆理论在线观看| 国产欧美日韩一区二区三区四区| 影音国产精品| 99久久激情| 国产不卡人人| 美女视频黄久久| 国产美女久久| 日本久久二区| 日本国产欧美| 亚洲精品动态| 丝瓜av网站精品一区二区| 国产精品二区不卡| 美女av一区| 麻豆精品在线视频| 国产乱码精品一区二区亚洲| 综合视频一区| 蜜芽一区二区三区| 亚洲一区二区三区四区五区午夜 | а√天堂8资源在线| 国产精品红桃| 日本中文字幕一区二区视频 | 久久一区国产| 久久久91麻豆精品国产一区| 久久激情综合网| 国产精品网站在线看| 国产精品亲子伦av一区二区三区| 青青伊人久久| 免费一级欧美片在线观看网站 | 日日夜夜免费精品视频| 亚洲精品极品| 欧美三区不卡| 欧美午夜网站| 久久精品免费看| 免费高潮视频95在线观看网站| 久久久精品久久久久久96| 欧美精品一线| 日韩免费精品| 麻豆国产欧美一区二区三区| 国产不卡人人| 久久国产精品亚洲77777| 视频国产精品| 国产suv精品一区二区四区视频| 免费污视频在线一区| 日本欧洲一区二区| 国产精品宾馆| 日韩精品一区二区三区免费观看| 欧美日韩在线网站| 日韩av三区| 日韩成人亚洲| 日本a级不卡| 久久久9色精品国产一区二区三区| 亚洲一区欧美激情| 国产精久久一区二区| 精品一区免费| 免费在线欧美黄色| 亚洲欧美日韩国产| 精品日韩一区| 免费人成在线不卡| 最近高清中文在线字幕在线观看1| 日韩中文字幕1| 国产美女高潮在线观看| 老鸭窝亚洲一区二区三区| 麻豆视频久久| 亚洲精品乱码| 日韩午夜av在线| 日韩欧美二区| 老司机精品视频网| 日本欧美韩国一区三区| 九九久久电影| 国产精品久久久久久久久妇女| 日本亚州欧洲精品不卡| 一区二区三区视频免费观看 | 亚洲婷婷丁香| 午夜在线精品| 免费成人网www| 麻豆中文一区二区| 国产日韩亚洲欧美精品| 亚洲三级观看| 久久国产88| 欧美午夜不卡| 精品在线播放| 91精品国产自产在线观看永久∴| 精品久久91| 日本精品黄色| 中文在线资源| 亚洲一级少妇| 日韩精品一卡| 另类中文字幕国产精品| 久久男人天堂| 99成人超碰| av综合电影网站| 日韩一区欧美| 亚洲天堂黄色| 手机精品视频在线观看| 四虎精品永久免费| 国产精品久久国产愉拍| 免费亚洲婷婷|