国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向大型數(shù)據(jù)處理系統(tǒng)的Oracle數(shù)據(jù)庫性能優(yōu)化技術(shù)

2013-04-29 07:48王純子
關鍵詞:Oracle數(shù)據(jù)庫性能優(yōu)化

王純子 等

摘要:針對大型數(shù)據(jù)處理MS系統(tǒng)中常見的性能問題,總結(jié)出一套Oracle數(shù)據(jù)庫關鍵優(yōu)化技術(shù),并通過實例說明所提出方案的有效性。

關鍵詞:大型數(shù)據(jù)處理系統(tǒng) Oracle數(shù)據(jù)庫 性能優(yōu)化

0 引言

本文以實際研發(fā)項目為平臺,選取某大型網(wǎng)絡原始數(shù)據(jù)分析處理系統(tǒng)為研究對象,分析并討論其后臺Oracle數(shù)據(jù)庫的性能優(yōu)化技術(shù)和方法。該系統(tǒng)隨著處理數(shù)據(jù)日益增多,常常出現(xiàn)吞吐量低,響應慢,數(shù)據(jù)庫進程莫名掛死等諸多問題。本文針對這些問題提出一套Oracle數(shù)據(jù)庫性能優(yōu)化的思路和方法,并對優(yōu)化前后的效果進行對比。

1 數(shù)據(jù)庫性能優(yōu)化的最佳時機

從以往項目的失敗經(jīng)驗來看,在系統(tǒng)性能變差時才對系統(tǒng)進行優(yōu)化已經(jīng)太晚,相關研究表明,數(shù)據(jù)庫應用系統(tǒng)的性能問題50%都是在設計階段引入的,因此對數(shù)據(jù)庫性能最有效的優(yōu)化階段在設計階段,同時設計階段優(yōu)化能以最低的代價獲取最大的收益。

2 設計及開發(fā)階段的Oracle數(shù)據(jù)庫優(yōu)化技術(shù)

本文所研究系統(tǒng)規(guī)模龐大、架構(gòu)復雜,需要對當前數(shù)據(jù)庫進行重新設計。

2.1 調(diào)整數(shù)據(jù)庫結(jié)構(gòu)設計

設計原則如下:

①對數(shù)據(jù)資源需求非常大且交互頻繁的功能模塊,數(shù)據(jù)庫設計時使用臨時表,加快統(tǒng)計分析的速度。②對于基本表的設計嚴格遵守第三范式。③根據(jù)訪問的頻繁程度對相關表進行分割處理、存儲冗余數(shù)據(jù)、存儲衍生列、合并相關表處理等。

2.2 調(diào)整磁盤I/O

為了實現(xiàn)硬盤之間I/O負載均衡,減少磁盤競爭和I/O爭用,應遵循如下基本原則和方法:

①訪問量大的數(shù)據(jù)文件放到獨立磁盤。②同一個表空間的多個數(shù)據(jù)文件放到不同磁盤。③為索引創(chuàng)建單獨表空間,并將表和索引分開在不同的表空間。④創(chuàng)造用戶表空間,與系統(tǒng)表空間分開磁盤存放;⑤創(chuàng)建回滾段專用的表空間。⑥創(chuàng)建臨時表空間用于排序操作。⑦Oracle文件和操作系統(tǒng)文件盡可能放到不同磁盤上。⑧最好使用廉價磁盤冗余陣列。

2.3 調(diào)整和有效利用SGA

正確設置SGA大小,在當前項目中,將數(shù)據(jù)緩沖區(qū)從優(yōu)化前的224M增加到340M,將共享池從優(yōu)化前的400M增加到450M,將日志緩沖區(qū)從優(yōu)化前的100M增加到150M,并在PGA的排序區(qū)或臨時表空間的臨時段中進行排序操作。

2.4 恰當使用分區(qū)

Oracle中恰當?shù)氖褂梅謪^(qū)技術(shù),可以將數(shù)據(jù)在物理上分隔開,不同分區(qū)的數(shù)據(jù)可以指定保存在處于不同磁盤上的數(shù)據(jù)文件里,可縮短查詢時間,均衡I/O。在當前項目中,對4*146G的硬盤進行分區(qū),共分為16個分區(qū),各數(shù)據(jù)表的分區(qū)指定保存在不同的磁盤下。

2.5 索引的優(yōu)化和設計

建立索引根本目的是提高查詢效率,開發(fā)人員應遵守以下原則應用索引:

①選擇在where子句中常用的查詢列做索引字段。②選擇常用來關聯(lián)表的字段做索引字段。③對普通的B-Tree索引,以選擇性高的字段做索引字段。④不要在經(jīng)常被刪除的字段上建立索引。⑤考慮建立位映射索引。⑥對where子句中函數(shù)參數(shù)的字段,建函數(shù)索引。⑦避免在索引列上進行計算。

2.6 SQL語句的優(yōu)化

為提升數(shù)據(jù)庫性能,在SQL優(yōu)化時應嚴格遵循如下原則:

①盡量避免對全表掃描;②如果多個表經(jīng)常被查詢,盡可能使其放在同一數(shù)據(jù)塊中;③使用Decode減少掃描;④使用TRUNCATA替代DELETE,用EXISTS替代IN;⑤用表連接替換EXISTS;⑥在GROUP BY前濾掉不需要的記錄;⑦不要在應用中做數(shù)據(jù)校驗,使用數(shù)據(jù)庫的約束;⑧可過濾掉的記錄條件都寫在WHERE子句的末尾;⑨使用ORDER BY和GROUP BY短語;⑩慎用游標;使用快照和顯形圖等分布式數(shù)據(jù)庫對象減少對數(shù)據(jù)庫的查詢次數(shù);用where子句代替having子句。

3 實例優(yōu)化

在“HP 580G7服務器+Oralce 10g數(shù)據(jù)庫+應用

程序”的環(huán)境中,以單日導入50G數(shù)據(jù)的應用場景來對比驗證,軟件性能優(yōu)化前后指標對比如下表所示,該結(jié)果證明上述Oracle數(shù)據(jù)庫優(yōu)化技術(shù)的有效性。

參考文獻:

[1]Gaja Krishna Vaidyanatha.Oracle性能優(yōu)化技術(shù)內(nèi)幕[M].機械工業(yè)出版社,2002,5:284.

[2]Robert G.Freeman.Oracle DBA 必備技能詳解[M].商云飛,譯.北京:清華大學出版社,2006.

[3]張舒.超大型Oracle數(shù)據(jù)庫的基礎設計和優(yōu)化設計[J].價值工程,2011(10).

基金項目:

陜西省教育廳科學研究計劃專項基金(No.2013JK0189);西安工程大學教育教學改革項目(No.2012JG25)。

作者簡介:

王純子(1983-),女,陜西西安人,講師,博士,主要研究方向:復雜系統(tǒng)建模、優(yōu)化決策與控制。

猜你喜歡
Oracle數(shù)據(jù)庫性能優(yōu)化
SQL Server數(shù)據(jù)庫性能優(yōu)化的幾點分析
Oracle數(shù)據(jù)庫安全管理策略的優(yōu)化
Oracle數(shù)據(jù)庫應用問題與解決方案分析
Web應用的前端性能優(yōu)化
一種Oracle數(shù)據(jù)庫表空間監(jiān)控方法
《Oracle數(shù)據(jù)庫》課程教學模式探究 
WEB網(wǎng)站緩存性能優(yōu)化
Oracle數(shù)據(jù)庫性能調(diào)整與優(yōu)化分析