Oracle的性能優化

目前許多的應用中我們多用到了oracle數據庫,作爲一名程序員,我們不需要太精通數據庫的優化,但是基本的技能我們還是要掌握的,下面我們就oracle的性能優化做出一個總結:

1.優化表的結構

   正常情況下我們設計出的表要滿足3NF的要求,否則表中會有大量的冗餘數據,這對我們以後的增刪改非常的不利,加大了數據量,同時過分的追求3NF的設計原則,加大了我們查詢過程中連接量,是造成系統性能低下的主要原因,因此我們需在實際應用做出決策,對於增刪改多的表設計時要滿足3範式的要求,而對於查詢要求多的表可以允許存在一定數據冗餘,提高查詢性能

 

2.優化sql文

  查詢是我們系統開發室用到比較多的一個操作,因此sql文的好壞直接影響系統的性能。

  對於oracle的sql文的優化,我們可以通過下列的方式獲取性能低下的是sql文:

  我們可以通過查詢sql_area表來確定性能低下的sql文,結合sql執行計劃表對sql文進行優化

  通常我們的sql文需要滿足下列的條件:

 1. 連接查詢的時候,我們隊表的順序要有規定,通常以記錄表少的爲主表,或者中間表爲主表

 2. 對於查詢的字段,我們要在適當的字段建立適當的索引

 3.查詢的語句儘量大寫

 4.不要在查詢的字段上進行計算

 5.用>=代替>

 6.用exists代替in

 7.分組查詢的時候儘量在where語句後面對記錄進行過濾

 8.全表刪除是用truncat代替delete

 9.不要用*進行查詢

 10.少用消耗資源的查詢操作:having,union

 11.限定查詢返回的記錄數

3.對數據庫中經常用到的數據進行緩存,比如80%的時間在使用20%的數據,此時我們就應該使用查詢

4.對數據庫進行讀寫分離或者集羣,例如mysql的主從複製,oracle的RAC

5.對數據庫進行分區或者分表

6.利用大數據處理數據庫如Memcache,monogodb等等

 

總之,實際中的應用我們要具體情況具體分析,找出適合的解決方案

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