Oracle 開發人員分析SQL 執行計畫的關注點

來源:互聯網
上載者:User

繁瑣複雜的執行計畫、可能迷了開發人員的眼、導致一條性感又傻X的SQL 在伺服器上跑得特歡樂

有介於此、重點抓住幾個部分、至於其他的嘛、當然是、非禮勿視咯、、

㈠ 返回行的數量

Oracle最佳化器是基於成本的、評估成本的一個主要指標便是查詢多少行

一般的、傳回值在100W或者大表傳回值超過總記錄50%、可最佳化的空間就非常小

標記圖為:

㈡ 返回行與邏輯讀的比率

經驗值是:每行5個以下邏輯讀開銷是可接受的

標記圖為:

每行需要花費7 個邏輯讀

㈢ 彙總查詢

這類查詢有 2 點需要注意:

① 返回行應是掃描表的行數而不是1

② 一般的最佳化技巧:把索引當成瘦表而無需再回表(回表標識為 Table Access By index rowid)

標記圖為:

㈣ 預測行的準確度

執行計畫裡有個列叫:Rows、這是Oracle 預測返回的行、有些時候或許不是特馬準備

記得拿該值和真正返回的行比較、如果確實不準確、應該去找原因、比如統計資訊、長條圖、高水位...等

標記圖為:

㈤ 謂詞資訊

Predicate Information 有2 個取值:filter 和 access、其中、access 一般為索引讀或hash join

關注此鳥、最重要的在於、查看是否有發生資料類型轉換、這抑制了索引、也增大了開銷

標記圖為:

㈥ 動態採樣

表統計資訊到期變質了、或者壓根就沒分析過表

標記圖為:

好了、先寫這麼多、後續再補上

By David Lin

2013-06-21

Always be a first-rate version of yourself,instead of a second-rate version of someone else

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.