Oracle調優淺析

我們在做開發時,常用到Oracle數據庫來開發一些大型項目,如何優化Oracle來提高效率這是開發者都曾遇到或者將會遇到的問題。

現在我們就來一起研究研究Oracle調優的一些基本方法。

方法一:硬件調優

硬件的更新和升級是Oracle調優最直接的方法:主要包括內存、cpu和磁盤這三個硬件升級。

但是這種方法帶來的是成本的增高,公司不到萬不得已也不會批准用這種,從市場的角度和技術的角度我們都不提倡先用這種方法。

方法二:平衡、合理地限制資源的使用

根據業務需求的特性來充分利用這是很聰明的辦法,前提是在前期應該做一個近乎完美的需求和設計,要提前想到可能面臨的問題。

我們主要根據兩個特性來判斷:

1.一次或多次對Oracle有大數據量的讀取或寫入。

如一些統計部門就需要對上千萬甚至上億的數據做處理,對數據庫就會有大量的讀取,這直接影響了數據庫的效率。

2.對數據庫頻繁的訪問。

一些在線系統,當有大量人員登錄或登出時,這個數據庫和服務器都造成了極大的壓力,甚至可能造成服務器直接“當掉”。

以上兩種情況就需要開發這充分的考慮並作出正確的設計,對Oracle的SGA,共享池、數據緩衝區、日誌緩衝區做出合適的調整,

來迎接這些極端“氣候”。

方法三:SQL調優

SQL語句的優化往往會有意想不到的效率提高,尤其是在數據量極大的情況下。

SQL調優有以下規則:

1.From最右邊的表爲基礎表,數據庫會先解析,所以把數據量最小的表作爲基礎表。

2.查詢條件從where最遠端開始解析,所以最後的where條件限制量最大。

3.用truncate代替delete,不會產生回滾段,減少寫日誌的過程,提高效率。

4.使用ROWID,訪問索引提升性能。

5.避免改變索引列類型,避免使用IS NULL 和 IS NOT NUL。L

6.union all 比union 效率更高,因爲union有distinct去重。

7.用IN替換OR。

以上並不是提升Oracle性能的全部方法,還有很多待我們繼續深入研究。

歡迎大家提出更多的寶貴意見,如轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章