濮阳杆衣贸易有限公司

主頁 > 知識庫 > 利用reverse索引優(yōu)化like語句的方法詳解

利用reverse索引優(yōu)化like語句的方法詳解

熱門標簽:南昌呼叫中心外呼系統(tǒng)哪家好 小程序智能電話機器人 泗洪正規(guī)電話機器人找哪家 河北便宜電銷機器人軟件 簡單的智能語音電銷機器人 ai電話電話機器人 怎么申請400熱線電話 湖南保險智能外呼系統(tǒng)產(chǎn)品介紹 怎么去開發(fā)一個電銷機器人

前言

在有一些情況下,開發(fā)同學經(jīng)常使用like去實現(xiàn)一些業(yè)務需求,當使用like時,我們都知道使用like 前%(like ‘%111')這種情況是無法使用索引的,那么如何優(yōu)化此類的SQL呢,下面是一個案例。

原SQL如下:

pcc_cust_infonew 表索引如下

執(zhí)行設計如下:

這里可以看到SQL執(zhí)行3.96秒,執(zhí)行計劃中也可以發(fā)現(xiàn)PCC_CUST_INFONEW表走TABLE ACCESS FULL掃描,返回約380k的數(shù)據(jù),然后再與PCC_CUST_CONTRACTCOMPANY表主鍵PK_PCC_CUST_CONTRACTCOMPANY走INDEX UNIQUE SCAN,這里慢主要是執(zhí)行計劃中為3的這一步。

我們也都知道在Oracle中,當使用like時,如果是后%(like ‘138%')是可以使用索引的,如果是前%(like ‘%138')是無法正常使用索引。那么如何讓前%也可以使用到索引呢,答案是可以使用reverse索引的形式進行優(yōu)化。

優(yōu)化如下:

修改索引

將SQL調整為

按以上調整后,SQL執(zhí)行效率提升到毫秒級。

調整后的執(zhí)行計劃如下:

那使用reverse函數(shù)索引后,到底是如何做到可以使用索引了呢,當你看到執(zhí)行計劃下面的謂詞信息想必你就知道答案了,

其實就是使用reverse函數(shù)索引將索引數(shù)據(jù)反轉,SQL中的where條件中將值反轉,這樣就將前%改為后%。

總結

以上就是關于使用reverse索引優(yōu)化like語句的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

您可能感興趣的文章:
  • 你的like語句為什么沒索引詳解

標簽:江蘇 柳州 景德鎮(zhèn) 淮安 那曲 瀘州 威海 荊門

巨人網(wǎng)絡通訊聲明:本文標題《利用reverse索引優(yōu)化like語句的方法詳解》,本文關鍵詞  利用,reverse,索引,優(yōu)化,like,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《利用reverse索引優(yōu)化like語句的方法詳解》相關的同類信息!
  • 本頁收集關于利用reverse索引優(yōu)化like語句的方法詳解的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    自贡市| 平原县| 溧水县| 嘉荫县| 渝北区| 梁平县| 元朗区| 长垣县| 屏东市| 铜陵市| 辽宁省| 邵武市| 东港市| 靖安县| 云阳县| 鄂温| 靖远县| 济源市| 广丰县| 应城市| 石河子市| 大石桥市| 丰都县| 合江县| 集安市| 庆城县| 高碑店市| 鸡东县| 新建县| 灌南县| 丹凤县| 宜阳县| 大姚县| 西乌珠穆沁旗| 广德县| 新民市| 安新县| 上杭县| 合江县| 印江| 饶河县|