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

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


1、下降數據訪問(下降硬盤房訪問次數)性能優化

2、返回更少的數據(下降網絡傳輸或磁盤訪問)網絡

3、下降交互次數(下降網絡傳輸)oracle

4、下降server開銷(下降cpu及內存開銷)函數

5、利用不少其它的資源(添加資源)post


===================詳細說明=================性能

1、下降數據訪問(下降硬盤房訪問次數)
學習

一、下降數據訪問優化

1.1.建立並使用正確的索引spa

索引會大大添加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_!

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

常見的索引注意事項:

需要加索引的:

一、主鍵

二、外鍵

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


慎用索引的:

一、日期

二、年月

三、狀態標識

四、區域

五、操做人員

六、數值

七、長字符


不適合用索引的

一、描寫敘述備註字段

二、大字段


另外:

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

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

假設經常使用這個可以在id,name,type上創建組合索引;

切記:性能優化無止境。

當達到要求後就要適可而止,切勿物極必反


2、更少的返回數據


一、數據分頁處理(client分頁、server分頁、數據庫分頁)

二、僅僅返回需要的字段



3、下降交互次數(batch提交。增大fech_size、使用存儲過程)


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

相關文章
相關標籤/搜索