av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Oracle 數據庫設計階段性能優(yōu)化策略

瀏覽:32日期:2023-11-25 10:42:06
通過對Oracle 數據庫系統(tǒng)物理結構和邏輯結構的分析,闡述了在Oralce數據庫設計開發(fā)階段性能優(yōu)化的一些策略和方法。 Oracle是目前使用最為廣泛的大型數據庫治理系統(tǒng),提高Oracle數據庫系統(tǒng)的運行效率,是整個計算機信息系統(tǒng)高效運轉的前提和保證。影響Oracle數據庫應用系統(tǒng)性能的因素很多,既有軟件方面的因素,也包括數據運行的硬件環(huán)境、網絡環(huán)境、數據庫治理和維護方面的因素等。數據庫系統(tǒng)設計開發(fā)階段是Oracle應用優(yōu)化的最佳階段,也是主動優(yōu)化階段,能達到以最小成本獲得最大性能增益的目的。通過對其邏輯存儲結構和物理存儲結構設計進行優(yōu)化,使之在滿足需求條件下,時空開銷性能最佳,可以解決數據庫系統(tǒng)運行過程中性能的漸進性下降或性能突降等問題,以保證系統(tǒng)運行的優(yōu)良性能。 Oracle數據庫的邏輯結構和物理結構 Oracle 數據庫的邏輯結構是由一些數據庫對象組成,如數據庫表空間、表、索引、段、視圖、存儲過程、觸發(fā)器等。數據庫的邏輯存儲結構(表空間等)決定了數據庫的物理空間是如何被使用的,數據庫對象如表、索引等分布在各個表空間中。 Oracle 數據庫的物理結構從操作系統(tǒng)一級查看,是由一個個的文件組成,從物理上可劃分為:數據文件、日志文件、控制文件和參數文件。數據文件中存放了所有的數據信息;日志文件存放數據庫運行期間產生的日志信息,它被重復覆蓋使用,若不采用歸檔方式的話,已被覆蓋的日志信息將無法恢復;控制文件記錄了整個數據庫的要害結構信息,它若被破壞,整個數據庫將無法工作和恢復;參數文件中設置了很多Oracle 數據庫的配置參數,當數據庫啟動時,會讀取這些信息。 邏輯結構的優(yōu)化 邏輯結構優(yōu)化用通俗的話來說就是通過增加、減少或調整邏輯結構來提高應用的效率,下面通過對基本表的設計及索引、聚簇的討論來分析ORACLE邏輯結構的優(yōu)化。 1、基本表擴展: 數據庫性能包括存儲空間需求量的大小和查詢響應時間的長短兩個方面。為了優(yōu)化數據庫性能,需要對數據庫中的表進行規(guī)范化。一般來說,邏輯數據庫設計滿足第三范式的表結構輕易維護且基本滿足實際應用的要求。所以,實際應用中一般都按照第三范式的標準進行規(guī)范化,從而保證了數據庫的一致性和完整性,設計人員往往會設計過多的表間關聯,以盡可能地降低數據冗余。但在實際應用中這種做法有時不利于系統(tǒng)運行性能的優(yōu)化:如過程從多表獲取數據時引發(fā)大量的連接操作,在需要部分數據時要掃描整個表等,這都消耗了磁盤的I/O 和CPU 時間。 為解決這一問題,在設計表時應同時考慮對某些表進行反規(guī)范化,方法有以下幾種:一是分割表。分割表可分為水平分割表和垂直分割表兩種:水平分割是按照行將一個表分割為多個表,這可以提高每個表的查詢速度,但查詢、更新時要選擇不同的表,統(tǒng)計時要匯總多個表,因此應用程序會更復雜。垂直分割是對于一個列很多的表,若某些列的訪問頻率遠遠高于其它列,就可以將主鍵和這些列作為一個表,將主鍵和其它列作為另外一個表。通過減少列的寬度,增加了每個數據頁的行數,一次I/O就可以掃描更多的行,從而提高了訪問每一個表的速度。但是由于造成了多表連接,所以應該在同時查詢或更新不同分割表中的列的情況比較少的情況下使用。二是保留冗余列。當兩個或多個表在查詢中經常需要連接時,可以在其中一個表上增加若干冗余的列,以避免表之間的連接過于頻繁,一般在冗余列的數據不經常變動的情況下使用。三是增加派生列。派生列是由表中的其它多個列的計算所得,增加派生列可以減少統(tǒng)計運算,在數據匯總時可以大大縮短運算時間。 因此,在數據庫的設計中,數據應當按兩種類別進行組織:頻繁訪問的數據和頻繁修改的數據。對于頻繁訪問但是不頻繁修改的數據,內部設計應當物理不規(guī)范化。對于頻繁修改但并不頻繁訪問的數據,內部設計應當物理規(guī)范化。有時還需將規(guī)范化的表作為邏輯數據庫設計的基礎,然后再根據整個應用系統(tǒng)的需要,物理地非規(guī)范化數據。規(guī)范與反規(guī)范都是建立在實際的操作基礎之上的約束,脫離了實際兩者都沒有意義。只有把兩者合理地結合在一起,才能相互補充,發(fā)揮各自的優(yōu)點。 2、索引和聚簇: 創(chuàng)建索引是提高檢索效率最有效的方法之一,索引把表中的邏輯值映射到安全的RowID,能快速定位數據的物理地址,可以大大加快數據庫的查詢速度,一個建有合理索引的數據庫應用系統(tǒng)可能比一個沒有建立索引的數據庫應用系統(tǒng)效率高幾十倍,但并不是索引越多越好,在那些經常需要修改的數據列上建立索引,將導致索引B*樹的不斷重組,造成系統(tǒng)性能的下降和存儲空間的浪費。對于一個大型表建立的索引,有時并不能改善數據查詢速度,反而會影響整個數據庫的性能。這主要是和SGA的數據治理方式有關,Oracle在進行數據塊高速緩存治理時,索引數據比普通數據具有更高的駐留權限,在進行空間競爭時,Oracle會先移出普通數據,對建有索引的大型表進行數據查詢時,索引數據可能會用完所有的數據塊緩存空間,Oracle不得不頻繁地進行磁盤讀寫來獲取數據,所以,在對一個大型表進行分區(qū)之后,可以根據相應的分區(qū)建立分區(qū)索引。 Oracle提供了另一種方法來提高查詢速度,就是聚簇(Cluster)。所謂聚簇,簡單地說就是把幾個表放在一起,按一定公共屬性混合存放。聚簇根據共同碼值將多個表的數據存儲在同一個Oracle塊中,這時檢索一組Oracle塊就同時得到兩個表的數據,這樣就可以減少需要存儲的Oracle塊,從而提高應用程序的性能。 對于邏輯結構的優(yōu)化,還應將表數據和索引數據分開表空間存儲,分別使用獨立的表空間。因為假如將表數據和索引數據放在一起,表數據的I/O操作和索引的I/O操作將產生影響系統(tǒng)性能的I/O競爭,降低系統(tǒng)的響應效率。將表數據和索引數據存放在不同的表空間中,并在物理層面將這兩個表空間的數據文件放在不同的物理磁盤上,就可以避免這種競爭了。 物理結構的優(yōu)化 數據庫的數據最終是存儲在物理磁盤上的,對數據進行訪問就是對這些物理磁盤進行讀寫,因此對于這些物理存儲的優(yōu)化是系統(tǒng)優(yōu)化的一個重要部分。對于物理存儲結構優(yōu)化,主要是合理地分配邏輯結構的物理存儲地址,這樣雖不能減少對物理存儲的讀寫次數,但卻可以使這些讀寫盡量并行,減少磁盤讀寫競爭,從而提高效率,也可以通過對物理存儲進行精密的計算減少不必要的物理存儲結構擴充,從而提高系統(tǒng)利用率。 1、磁盤讀寫并行優(yōu)化: 對于數據庫的物理讀寫,Oracle系統(tǒng)本身會進行盡可能的并行優(yōu)化,例如在一個最簡單的表檢索操作中,假如表結構和檢索域上的索引不在一個物理結構上,那么在檢索的過程中,對索引的檢索和對表的檢索就是并行進行的。 2、操作并行優(yōu)化: 操作并行的優(yōu)化是基于操作語句的統(tǒng)計結果,首先是統(tǒng)計各個表的訪問頻率,表之間的連接頻率,根據這些數據按如下原則分配表空間和物理磁盤,減少系統(tǒng)進程和用戶進程的磁盤I/O競爭;把需要連接的表格在表空間/物理磁盤上分開;把高頻訪問的表格在表空間/物理磁盤上分開;把經常需要進行檢索的表格的表結構和索引在表空間/物理磁盤上分開。 3、減少存儲結構擴展: 假如應用系統(tǒng)的數據庫比較脆弱,并在不斷地增長或縮小,這樣的系統(tǒng)在非動態(tài)變化周期內效率合理,但是當在動態(tài)變化周期內的時候,性能卻很差,這是由于Oracle的動態(tài)擴展造成的。在動態(tài)擴張的過程中,Oracle必須根據存儲的要求,在創(chuàng)建行、行變化獲取缺省值時,擴展和分配新的存儲空間,而且表格的擴展往往并不是事情的終結,還可能導致數據文件、表空間的增長,這些擴展會導致在線系統(tǒng)反應緩慢。對于這樣的系統(tǒng),最好的辦法就是在建立的時候預先分配足夠的大小和合適的增長幅度。在一個對象建立的時候要根據應用充分地計算他們的大小,然后再根據這些數據來定義對象Initial、Next和Minextents的值,使數據庫在物理存儲上和動態(tài)增長次數上達到一個比較好的平衡點,使這些對象既不經常發(fā)生增長,也不過多地占用數據庫。 結論 優(yōu)化Oracle 數據庫對提高計算機系統(tǒng)的可用性和效率,具有非常重要的意義, 非凡是在Oracle數據庫設計開發(fā)階段,對邏輯結構和物理結構進行有效的優(yōu)化設計,創(chuàng)建一個規(guī)劃布局合理的數據庫,可以獲得最小的系統(tǒng)開銷,能從根本上大大提高應用系統(tǒng)的整體性能,對于以后的數據庫性能調整和利用都有很大的益處。
標簽: Oracle 數據庫
主站蜘蛛池模板: 亚洲一区电影 | 欧美黑人狂野猛交老妇 | 在线视频成人 | 激情五月婷婷综合 | 久久久99国产精品免费 | 九九视频在线观看 | 色婷婷一区二区三区四区 | 四虎影院欧美 | 中文字幕精品一区 | 久久久精品网站 | 精品久久久久久久久久久久久久 | 久久精品日 | 精品熟人一区二区三区四区 | 国产免费观看一级国产 | 中文二区 | av黄色在线 | 久久亚洲91 | 中文字幕综合 | 神马久久av | 国产福利资源 | 欧美专区在线视频 | 久久久免费在线观看 | 亚洲一区二区精品视频 | 国产成人精品一区二 | 天天插天天狠天天透 | 久久精品国产99国产精品 | 久久看看| 国产成人综合一区二区三区 | 欧美精品二区 | 在线视频 欧美日韩 | 啪啪av| 国产精品美女久久久久久久网站 | 免费一级片 | 免费性视频 | 日本免费一区二区三区 | 狠狠婷婷综合久久久久久妖精 | 久久久久久久久久久久91 | 国产成人免费网站 | 黄色片网站在线观看 | 人人人人干 | 99视频在线免费观看 |