程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle數據庫性能優化方案精髓整理收集回顧

oracle數據庫性能優化方案精髓整理收集回顧

編輯:Oracle教程

oracle數據庫性能優化總體法則:

一、減少數據訪問(減少硬盤房訪問次數)

二、返回更少的數據(減少網絡傳輸或磁盤訪問)

三、減少交互次數(減少網絡傳輸)

四、減少服務器開銷(減少cpu及內存開銷)

五、利用更多的資源(增加資源)

===================具體說明=================

一、減少數據訪問(減少硬盤房訪問次數)

1、減少數據訪問

1.1.創建並使用正確的索引

索引會大大增加DML(增刪改)的開銷【合理的索引會大大提高效率100倍、1000倍,但不合理的索引甚至會降低性能100倍】

一個表中可以有多個索引,一個索引也可以由多個字段組成

會使用索引的情況:

index_column>?

index_column<?

index_column=?

index_column>=?

index_column<=?

index_columnbetween ? and ?

index_columnin (?,?...?)

index_columnlike ?||%'(後導模糊查詢)

t1.index_column= t2.culunm2(兩表通過索引字段關聯)

不會使用索引的情況:

index_column<>?

index_columnnot in (?,?...?)

--------------不等於不會使用索引

function(index_column)=?

index_column+1=?

index_column||'aaa'=?

--------------經過普通運算或者函數運算的字段不會使用索引

index_columnis null

----------------索引不保存null值所以is null不會使用索引

index_column=‘12345’

index_column=12345

--------------oracle在進行數值比較時候會將左右兩邊轉換成相同類型,相當於使用了函數。不會使用索引

a.index_column= a.column_!

--------給索引查詢的值應該是已知的,未知的是不會使用索引的

常見的索引注意事項:

需要加索引的:

1、主鍵

2、外鍵

3、有對象或身份標識意義的字段

 慎用索引的:

1、日期

2、年月

3、狀態標識

4、區域

5、操作人員

6、數值

7、長字符

不適合用索引的

1、描述備注字段

2、大字段

另外:

經常在一起使用的幾個查詢字段可以建立組合索引

如:select id,name from company where type='2';

如果經常使用這個可以在id,name,type上建立組合索引;

切記:性能優化無止境。當達到要求後就要適可而止,切勿物極必反

二、更少的返回數據

1、數據分頁處理(客戶端分頁、服務器分頁、數據庫分頁)

2、只返回需要的字段

三、減少交互次數(batch提交,增大fech_size、使用存儲過程)

未完待續-------共同學習進步

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved