SQL查詢優化常見方法

newknight發表於2013-11-27
1.索引:最常見做法,其實是改寫執行計劃;影響寫入效率,在獲取結果集較少時,效率尤其明顯,但結果集較大時,IO反而可能會更大;另外影響寫入操作效率

2.記憶體常駐:將部分常用表格常駐記憶體,因此表格基本都是記憶體存取,效率很高,但因記憶體有限,適用性不強,表格多時無法推廣

3.壓縮表:對錶格的儲存進行壓縮,因此在讀取時,只要讀取比平時少的block即可完成查詢,但因此在寫入時需要完成比平時更多的操作

4.分割槽:在大資料量的表格中常見,分割槽控制所需要讀取的資料範圍,減小待選集以提高讀取效率;相比普通表維護量變大;效率除受分割槽欄位控制外,也可以建立全域性索引

5.併發:將查詢併發操作,改變執行計劃,適合大資料集的訪問,受CPU資源影響,在CPU資源充足時適用,否則效果和影響會難以控制

6.索引組織表:屬於有序排列資料集,對主鍵排序後,將實際資料也儲存在索引條目中,理論上來看就是將索引和表格物理地儲存在一起。因為排序,索引寫入效率受影響,但讀取效率高

7.結構集快取:將查詢結果集進行快取,提高之後的查詢效率,但通用性不高,查詢調整後快取不可用

8.記憶體調整:sga調整,如針對OLTP和OLAP的不同調整

9.引數調整:Oracle的效能引數調整,比如星型查詢,多塊讀等等

10.SQL調整:主要涉及到SQL的寫法是否合理,這塊的優化必須通過經驗累計

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10009036/viewspace-1061287/,如需轉載,請註明出處,否則將追究法律責任。

相關文章