最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年03月04日 09:10:30   作者:DoDBA  
這篇文章主要介紹了關(guān)于利用reverse索引優(yōu)化like語句的方法,文中通過圖文介紹的很詳細(xì),相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。

前言

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

原SQL如下:

pcc_cust_infonew 表索引如下

執(zhí)行設(shè)計如下:

這里可以看到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中,當(dāng)使用like時,如果是后%(like ‘138%')是可以使用索引的,如果是前%(like ‘%138')是無法正常使用索引。那么如何讓前%也可以使用到索引呢,答案是可以使用reverse索引的形式進(jìn)行優(yōu)化。

優(yōu)化如下:

修改索引

將SQL調(diào)整為

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

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

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

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

總結(jié)

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

您可能感興趣的文章:

相關(guān)文章

  • navicat導(dǎo)入CSV文件詳細(xì)操作步驟

    navicat導(dǎo)入CSV文件詳細(xì)操作步驟

    通過Navicat我們可以很方便的完成備份和還原操作,下面這篇文章主要給大家介紹了關(guān)于navicat導(dǎo)入CSV文件的詳細(xì)操作步驟,需要的朋友可以參考下
    2023-12-12
  • SQLite數(shù)據(jù)庫中如何獲取新插入數(shù)據(jù)的自增長ID

    SQLite數(shù)據(jù)庫中如何獲取新插入數(shù)據(jù)的自增長ID

    SQLite數(shù)據(jù)庫中有一有列名為ID的自增列,項目需求要在向數(shù)據(jù)庫在插入新數(shù)據(jù)的同時返回新插入數(shù)據(jù)行的ID,這篇文章主要介紹了SQLite數(shù)據(jù)庫中如何獲取新插入數(shù)據(jù)的自增長ID,需要的朋友可以參考下
    2024-04-04
  • 數(shù)據(jù)庫設(shè)計的完整性約束表現(xiàn)在哪些方面

    數(shù)據(jù)庫設(shè)計的完整性約束表現(xiàn)在哪些方面

    數(shù)據(jù)完整性是指數(shù)據(jù)的正確性、完備性和一致性,是衡量數(shù)據(jù)庫質(zhì)量好壞的規(guī)范。數(shù)據(jù)庫完整性由各式各樣的完整性約束來確保,因而可以說數(shù)據(jù)庫完整性規(guī)劃即是數(shù)據(jù)庫完整性約束的規(guī)劃。那么,數(shù)據(jù)庫設(shè)計的完整性約束表現(xiàn)哪些方面?
    2015-10-10
  • 淺談數(shù)據(jù)庫索引的作用及原理

    淺談數(shù)據(jù)庫索引的作用及原理

    這篇文章主要介紹了淺談數(shù)據(jù)庫索引的作用及原理的相關(guān)內(nèi)容,涉及索引加速和加索引的時間等,希望通過這篇文章讓大家對索引有一個初步的了解,需要的朋友可以參考下。
    2017-09-09
  • SQL 優(yōu)化經(jīng)驗總結(jié)34條

    SQL 優(yōu)化經(jīng)驗總結(jié)34條

    我們要做到不但會寫SQL,還要做到寫出性能優(yōu)良的SQL,以下為筆者學(xué)習(xí)、摘錄、并匯總部分資料與大家分享!
    2009-07-07
  • SQL UPDATE 更新語句用法(單列與多列)

    SQL UPDATE 更新語句用法(單列與多列)

    更新操作是數(shù)據(jù)庫中最常用的操作之一,下面將為您介紹update語句的三種使用方法,供您參考,希望對您有所幫助
    2017-08-08
  • Linux下 mysql oracle 簡單使用手冊

    Linux下 mysql oracle 簡單使用手冊

    1.linux下使用Mysql與oracle的 簡單說明
    2009-06-06
  • 淺析GBase8s?唯一索引與非唯一索引問題

    淺析GBase8s?唯一索引與非唯一索引問題

    GBase8s中主鍵(PRIMARY?KEY)會自動創(chuàng)建一個唯一索引。一個良好的表設(shè)計都應(yīng)該定義主鍵或者唯一約束索引。特別是在OLTP系統(tǒng)中,唯一索引可以幫助快速定位少量記錄,對GBase8s?索引相關(guān)知識感興趣的朋友一起看看吧
    2022-02-02
  • 關(guān)于hive表的存儲格式ORC格式的使用詳解

    關(guān)于hive表的存儲格式ORC格式的使用詳解

    這篇文章主要介紹了關(guān)于hive表的存儲格式ORC格式的使用詳解,Hive?是基于?Hadoop?的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張表,并提供類SQL查詢功能,需要的朋友可以參考下
    2023-07-07
  • 簡單聊一聊SQL注入及防止SQL注入

    簡單聊一聊SQL注入及防止SQL注入

    眾所周知SQL注入是比較常見的網(wǎng)絡(luò)攻擊方式之一,它不是利用操作系統(tǒng)的BUG來實(shí)現(xiàn)攻擊,而是針對程序員編程時的疏忽,通過SQL語句,實(shí)現(xiàn)無帳號登錄,下面這篇文章主要給大家介紹了關(guān)于SQL注入及防止SQL注入的相關(guān)資料,需要的朋友可以參考下
    2022-03-03

最新評論

马公市| 青浦区| 吐鲁番市| 泽州县| 工布江达县| 宕昌县| 贵德县| 威海市| 天等县| 青田县| 综艺| 高邑县| 西城区| 离岛区| 都江堰市| 五华县| 正阳县| 孟津县| 乌拉特前旗| 襄汾县| 色达县| 东丽区| 高唐县| 福建省| 响水县| 汶川县| 大庆市| 阳朔县| 城市| 芦溪县| 平遥县| 湖北省| 盈江县| 无极县| 姜堰市| 南召县| 海口市| 渭南市| 观塘区| 青阳县| 三明市|