自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle邏輯結(jié)構(gòu)優(yōu)化的解剖

數(shù)據(jù)庫 Oracle
以下的文章主要介紹的是Oracle邏輯結(jié)構(gòu)的相關(guān)優(yōu)化,以下就是其具體方案的描述,希望在你今后的學(xué)習(xí)中會有所幫助。

Oracle邏輯結(jié)構(gòu)優(yōu)化其實就是通過增加、減少或者調(diào)整邏輯相關(guān)結(jié)構(gòu),來提高其應(yīng)用的效率,以下就是通過對其基本表的設(shè)計以及索引、聚簇的討論來分析Oracle邏輯結(jié)構(gòu)的優(yōu)化。以下就是文章的主要內(nèi)容的介紹。

基本表擴展

數(shù)據(jù)庫性能包括存儲空間需求量的大小和查詢響應(yīng)時間的長短兩個方面。為了優(yōu)化數(shù)據(jù)庫性能,需要對數(shù)據(jù)庫中的表進行規(guī)范化。一般來說,邏輯數(shù)據(jù)庫 設(shè)計滿足第三范式的表結(jié)構(gòu)容易維護且基本滿足實際應(yīng)用的要求。

所以,實際應(yīng)用中一般都按照第三范式的標(biāo)準(zhǔn)進行規(guī)范化,從而保證了Oracle邏輯結(jié)構(gòu)數(shù)據(jù)庫的一致性和完整性, 設(shè)計人員往往會設(shè)計過多的表間關(guān)聯(lián),以盡可能地降低數(shù)據(jù)冗余。但在實際應(yīng)用中這種做法有時不利于系統(tǒng)運行性能的優(yōu)化:如過程從多表獲取數(shù)據(jù)時引發(fā)大量的連接操作,在需要部分?jǐn)?shù)據(jù)時要掃描整個表等,這都消耗了磁盤的I/O 和CPU 時間。

為解決這一問題,在設(shè)計表時應(yīng)同時考慮對某些表進行反規(guī)范化,方法有以下幾種:一是分割表。分割表可分為水平分割表和垂直分割表兩種:水平分割是按照行將一個表分割為多個表,這可以提高每個表的查詢速度,但查詢、更新時要選擇不同的表,統(tǒng)計時要匯總多個表,因此應(yīng)用程序會更復(fù)雜。

垂直分割是對于 一個列很多的表,若某些列的訪問頻率遠(yuǎn)遠(yuǎn)高于其它列,就可以將主鍵和這些列作為一個表,將主鍵和其它列作為另外一個表。通過減少列的寬度,增加了每個數(shù)據(jù)頁的行數(shù),一次I/O就可以掃描更多的行(同理于內(nèi)存的頁式訪問),從而提高了訪問每一個表的速度。

但是由于造成了多表連接,所以應(yīng)該在同時查詢或更新不同分割表中的列的情況比較 少的情況下使用。二是保留冗余列。當(dāng)兩個或多個表在查詢中經(jīng)常需要連接時,可以在其中一個表上增加若干冗余的列,以避免表之間的連接過于頻繁,一般在冗余列的數(shù)據(jù)不經(jīng)常變動的情況下使用。

三是增加派生列。派生列是由表中的其它多個列的計算所得,增加派生列可以減少統(tǒng)計運算,在數(shù)據(jù)匯總時可以大大縮短運算時間(通過周期性結(jié)轉(zhuǎn)豈不是更好?)。

因此,在數(shù)據(jù)庫的設(shè)計中,數(shù)據(jù)應(yīng)當(dāng)按兩種類別進行組織:頻繁訪問的數(shù)據(jù)和頻繁修改的數(shù)據(jù)。對于頻繁訪問但是不頻繁修改的數(shù)據(jù),內(nèi)部設(shè)計應(yīng)當(dāng)物理不規(guī)范化。對于頻繁修改但并不頻繁訪問的數(shù)據(jù),內(nèi)部設(shè)計應(yīng)當(dāng)物理規(guī)范化。

有時還需將規(guī)范化的表作為Oracle邏輯結(jié)構(gòu)數(shù)據(jù)庫設(shè)計的基礎(chǔ),然后再根據(jù)整個應(yīng)用系統(tǒng)的需要, 物理地非規(guī)范化數(shù)據(jù)。規(guī)范與反規(guī)范都是建立在實際的操作基礎(chǔ)之上的約束,脫離了實際兩者都沒有意義。只有把兩者合理地結(jié)合在一起,才能相互補充,發(fā)揮各自的優(yōu)點。

文章出自:http://www.programbbs.com/doc/3414.htm

【編輯推薦】

  1. Oracle數(shù)據(jù)庫的相關(guān)的遠(yuǎn)程復(fù)制的解決方案
  2. 一個簡單的Oracle寫文件例子
  3. 如何對Oracle sql 進行性能優(yōu)化的調(diào)整
  4. Oracle參數(shù)及參數(shù)文件7大類解析
  5. Oracle控制文件如何高效管理
責(zé)任編輯:佚名 來源: programbbs
相關(guān)推薦

2010-04-21 16:07:04

Oracle邏輯存儲結(jié)

2010-04-26 10:24:12

Oracle ASM

2010-04-27 14:44:31

Oracle存儲過程

2010-04-14 10:32:42

Oracle數(shù)據(jù)

2010-05-07 16:21:08

Oracle Raw類

2010-04-28 16:53:20

Oracle 函數(shù)

2010-04-20 10:58:54

2010-04-15 14:03:37

Oracle數(shù)據(jù)庫

2010-04-13 15:49:02

Oracle SGA

2011-06-27 16:26:39

Oracle優(yōu)化器RBOCBO

2010-04-14 14:19:51

Oracle數(shù)據(jù)庫

2011-11-28 10:50:56

JavaJVM優(yōu)化

2010-05-12 14:04:29

Oracle優(yōu)化器

2010-04-21 16:55:06

Oracle物理存儲結(jié)

2010-04-14 12:51:10

Oracle性能

2010-04-15 13:10:09

Oracle系統(tǒng)結(jié)構(gòu)

2010-10-26 13:30:25

oracle RMAN

2010-10-27 13:47:50

Oracle索引

2018-05-23 13:47:28

數(shù)據(jù)庫PostgreSQL查詢優(yōu)化

2010-04-23 14:18:38

Oracle ROWI
點贊
收藏

51CTO技術(shù)棧公眾號