Oracle資料庫sql調優

來源:互聯網
上載者:User

標籤:

最近做的一個項目涉及到大資料量的資料表查詢。資料表總量在7億-20億左右,以主鍵建立全域唯一索引,分區策略是hash分區+定界分割,很大部分情況下查詢條件命中記錄數超過萬條,單次返回前XX條記錄。在調優過程中總結出以下經驗:

(1)在商務規則允許的情況下,盡量減少區間限制條件,即便該屬性是索引欄位。如:DATE>=min AND DATA <= max。如果有區間限制條件,會將所有記錄與限制條件逐一比較,如果記錄數較大,則會嚴重影響查詢效率。

(2)使用order by排序盡量保證與索引順序一致,oracle在建立索引的時候會預設以升序排序,order by規則與索引建立順序一致的話則不會再單獨進行排序操作

(3)如果查詢條件均在索引範圍,可考慮先搜尋索引的rowid,通過rowid回表擷取資料。該方法的好處是盡量減少回表訪問。需要注意的是,該方法適合返回資料量較小的情況,如翻頁記錄等。

目前還存在多hash分區資料訪問排序效率很慢的問題,還在解決中,待續!!!!

(4)在查詢總記錄條數時,建議sql寫法為SELECT COUNT(1) FROM TABLE_NAME WHERE [OPTION CONDITION...]。若查詢條件均為索引欄位,這樣寫的好處是不用進行回表操作,直接尋找索引獲得結果。

Oracle資料庫sql調優

聯繫我們

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