Oracle 查詢效能最佳化實踐

來源:互聯網
上載者:User

標籤:

?

1.索引使用原則

?

不要對索引使用全模糊,但是 LIKE ‘asdf%‘是可以的,即不要Contains,可用StartWith

不要對索引進行函數,運算式操作,或者使用is null判斷,否則將會使用全表掃描

不等於也會造成全表掃描,使用column < ‘a‘ or column > ‘a‘ 來替代

如果一個列有索引,另一個無索引,那麼 c1 or c2 ,則將會造成全表掃描;

複合式索引查詢,如果包含前置索引,則會生效,否則,將會全表掃描;

?

2.順序

?

where語句:盡量把大範圍的過濾放在後面;

表串連:將大範圍資料過濾的表放在後面;

?

3.執行計畫

?

學會在sqldeveloper中查看執行計畫

總的原則:避免全表掃描,善用索引。

Eg:

一般的查詢

?

加上索引最佳化:

10天以內的資料,均使用索引。其中ORDER_ID是oi表的一個索引列

?

AND (oi.ORDER_ID LIKE ‘150913%‘ OR oi.ORDER_ID LIKE ‘150914%‘ OR oi.ORDER_ID LIKE ‘150915%‘ OR oi.ORDER_ID LIKE ‘150916%‘ OR oi.ORDER_ID LIKE ‘150917%‘ OR oi.ORDER_ID LIKE ‘150918%‘ OR oi.ORDER_ID LIKE ‘150919%‘ OR oi.ORDER_ID LIKE ‘150920%‘ OR oi.ORDER_ID LIKE ‘150921%‘ OR oi.ORDER_ID LIKE ‘150922%‘ OR oi.ORDER_ID LIKE ‘150923%‘)

?

速度提高了幾倍,當然這個要從設計上去空間,避免大表掃描。

?

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.