oracle 函數索引(1)

來源:互聯網
上載者:User
使用Oracle函數索引 提高查詢效率2010-10-25 10:55 佚名 互連網 我要評論(0) 字型大小:T | T

想要提高Oracle資料庫的查詢檢索的效率,使用函數索引無疑是一個非常好的方法。下文對Oracle函數索引的使用作了詳盡的闡述,供您參考。

AD:


    使用Oracle函數索引,無疑是提高查詢效率的有效方法之一。下面就為您詳細介紹Oracle函數索引的使用方法,希望對您能有所協助。

    談到任何對列的操作都可能導致全表掃描,例如:

    1. select * from emp where substr(ename,1,2)=’SM’; 

    但是這種查詢在客服系統又經常使用,我們可以建立一個帶有substr函數的基於Oracle函數索引,

    1. create index emp_ename_substr on eemp ( substr(ename,1,2) ); 

    這樣在執行上面的查詢語句時,這個基於函數的索引將排上用場,執行計畫將是(INDEX RANGE SCAN)。
    上面的例子中,我們建立了基於函數的索引,但是如果執行下面的查詢:

    1. select * from emp where substr(ename,1,1)=’S’ 

    得到的執行計畫將還是(TABLE ACCESS FULL),因為只有當資料列能夠等式匹配時,基於函數的索引才會生效,這樣對於這種索引的計劃和維護的要求都很高。請注意,向表中添加索引是非常危險的操作,因為這將導致許多查詢執行計畫的變更。然而,如果我們使用基於函數的索引就不會產生這樣的問題,因為Oracle只有在查詢使用了匹配的內建函數時才會使用這種類型的索引

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.