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

?

基于ORACLE數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的優(yōu)化途徑研究

2016-08-19 18:48林曉燕
電腦知識(shí)與技術(shù) 2016年20期
關(guān)鍵詞:應(yīng)用系統(tǒng)Oracle數(shù)據(jù)庫(kù)優(yōu)化途徑

林曉燕

摘要:數(shù)據(jù)庫(kù)的性能對(duì)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的實(shí)用性有著直接的影響。但大多數(shù)據(jù)庫(kù)在經(jīng)過(guò)一段時(shí)間的使用之后都會(huì)有不同程度的問(wèn)題產(chǎn)生,例如操作系統(tǒng)等。因此,對(duì)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的優(yōu)化途徑進(jìn)行研究和探討是極有必要的。筆者首先簡(jiǎn)要闡述了ORACLE數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的優(yōu)化結(jié)構(gòu),包括相關(guān)理論的概述,評(píng)估標(biāo)準(zhǔn)以及優(yōu)化的主要內(nèi)容等,并提出一般情況下的數(shù)據(jù)庫(kù)優(yōu)化技術(shù),例如索引、查詢方式的優(yōu)化,以及并行優(yōu)化等。最終對(duì)優(yōu)化結(jié)果進(jìn)行檢驗(yàn),并詳細(xì)分析了實(shí)例中涉及的設(shè)計(jì)和優(yōu)化內(nèi)容。

關(guān)鍵詞:ORACLE數(shù)據(jù)庫(kù);應(yīng)用系統(tǒng);優(yōu)化途徑;技術(shù)

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)20-0003-02

數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)是信息技術(shù)發(fā)展和革新速度較快的內(nèi)容之一,在大數(shù)據(jù)被充分應(yīng)用于生產(chǎn)和生活的新時(shí)代,數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)已經(jīng)逐漸上升到應(yīng)用體系的基礎(chǔ)和關(guān)鍵部分。自上世紀(jì)中期開(kāi)始至今,數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)逐步成為我國(guó)現(xiàn)代化計(jì)算機(jī)產(chǎn)業(yè)的基礎(chǔ)工程,對(duì)其的運(yùn)用領(lǐng)域也在不斷擴(kuò)大,但與其他發(fā)達(dá)國(guó)家相比,仍然存在技術(shù)和性能上的差距。因此,數(shù)據(jù)集是否能高校運(yùn)轉(zhuǎn)、其技術(shù)是否能得到更新是當(dāng)前我國(guó)數(shù)據(jù)庫(kù)建設(shè)的重要任務(wù)。

1 ORACLE數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的優(yōu)化結(jié)構(gòu)

1.1 優(yōu)化概述

針對(duì)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的優(yōu)化是一個(gè)動(dòng)態(tài)的持續(xù)過(guò)程,通過(guò)對(duì)程序的優(yōu)化、參數(shù)的改變等方式來(lái)達(dá)到優(yōu)化的目的。其中,對(duì)數(shù)據(jù)庫(kù)性能的調(diào)整包括硬件組成、操作程序,以及對(duì)所有訪問(wèn)的程序和應(yīng)用進(jìn)行理解和優(yōu)化。本質(zhì)上說(shuō),系統(tǒng)的優(yōu)化即是指有目標(biāo)的對(duì)組成進(jìn)行協(xié)調(diào),以實(shí)現(xiàn)性能的優(yōu)化,從而使得數(shù)據(jù)應(yīng)用系統(tǒng)的反應(yīng)速度得到提升。對(duì)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)進(jìn)行優(yōu)化的基本原則是盡量通過(guò)最少的空間來(lái)獲取更多的數(shù)據(jù)。簡(jiǎn)單來(lái)說(shuō),對(duì)數(shù)據(jù)的優(yōu)化和調(diào)整是一個(gè)不斷往復(fù)的過(guò)程,若要實(shí)現(xiàn)系統(tǒng)的優(yōu)化,就需對(duì)其進(jìn)行合理的調(diào)整,確認(rèn)優(yōu)化結(jié)束,再檢驗(yàn)調(diào)整的成果,并根據(jù)結(jié)果進(jìn)行再次優(yōu)化,指導(dǎo)達(dá)到預(yù)定的目標(biāo)。數(shù)據(jù)庫(kù)的整個(gè)周期大致可劃為三個(gè)過(guò)程,即制定、開(kāi)發(fā)和完成。其中,在所涉及環(huán)節(jié)進(jìn)行優(yōu)化的效率最高,其耗費(fèi)的資源也最少。

1.2 數(shù)據(jù)庫(kù)評(píng)估指標(biāo)

數(shù)據(jù)庫(kù)的評(píng)估指標(biāo)主要包括五個(gè)內(nèi)容。

第一,應(yīng)用系統(tǒng)吞吐量,也叫系統(tǒng)處理量。是指在規(guī)定的時(shí)間內(nèi)數(shù)據(jù)庫(kù)實(shí)現(xiàn)的SQL語(yǔ)言的數(shù)量,一般以每秒鐘的完成量來(lái)表示。吞吐量的提升有兩個(gè)方法,一是通過(guò)降低服務(wù)時(shí)間,另一個(gè)是通過(guò)降低數(shù)據(jù)庫(kù)的反應(yīng)時(shí)間來(lái)實(shí)現(xiàn)吞吐量的提高。

第二,數(shù)據(jù)反應(yīng)時(shí)間。即是使用者的響應(yīng)時(shí)間,指使用者從上傳SQL語(yǔ)言到取得結(jié)果的第一部分所花費(fèi)的時(shí)間,通常以秒或毫秒為單位。反應(yīng)時(shí)間可劃分為CPU時(shí)間和使用者等待時(shí)間,即提高響應(yīng)時(shí)間的方式有提升吞吐量和降低使用者同時(shí)訪問(wèn)的發(fā)生率。

第三,命中率。Oracle用戶需要的信息一般都是經(jīng)過(guò)緩存來(lái)進(jìn)行存入和獲取,因此命中率是用來(lái)表示使用者對(duì)系統(tǒng)給予的數(shù)據(jù)是否感到滿意。

第四,存儲(chǔ)情況。評(píng)定內(nèi)存的合理使用與否,主要有兩個(gè)方面,一是將重點(diǎn)放在處理能夠帶來(lái)最大利益的挑戰(zhàn),二是盡量減少或清除瓶頸。

第五,磁盤I/O。數(shù)據(jù)庫(kù)中的每一個(gè)指令都有可能產(chǎn)生I/O,通過(guò)對(duì)I/O發(fā)生機(jī)率的降低,來(lái)縮短用戶的響應(yīng)時(shí)間。

1.3 優(yōu)化的主要內(nèi)容

具體的優(yōu)化主要包括六個(gè)內(nèi)容。

1)設(shè)計(jì)的優(yōu)化。若要使Oracle數(shù)據(jù)庫(kù)的性能達(dá)到最優(yōu),就需對(duì)設(shè)計(jì)方案進(jìn)行優(yōu)化。如果方案設(shè)計(jì)出現(xiàn)偏差,在之后的開(kāi)發(fā)或使用過(guò)程中即使再進(jìn)行優(yōu)化效率都不高,因此要提升數(shù)據(jù)庫(kù)的性能,需從設(shè)計(jì)方案的優(yōu)化開(kāi)始。

2)結(jié)構(gòu)設(shè)計(jì)的確認(rèn)。在確認(rèn)系統(tǒng)之前,應(yīng)充分考慮到其所需的結(jié)構(gòu),不同的模式適應(yīng)不同的應(yīng)用程序結(jié)構(gòu),最優(yōu)搭配才能使數(shù)據(jù)庫(kù)的性能最優(yōu)。

3)程序的調(diào)整。數(shù)據(jù)表明,接近三分之二的系統(tǒng)優(yōu)化取決于對(duì)應(yīng)用程序的調(diào)整,其對(duì)數(shù)據(jù)庫(kù)的影響最終反映在SQL語(yǔ)言上面,因此通過(guò)提高SQL語(yǔ)句即能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的優(yōu)化。

4)存儲(chǔ)功能的調(diào)整。SGA是Oracle實(shí)例的組成部分之一,其的使用對(duì)系統(tǒng)的性能影響較大。因此對(duì)SGA的大小進(jìn)行優(yōu)化即可幫助系統(tǒng)性能的優(yōu)化。

5)磁盤I/O的優(yōu)化。該操作屬于消耗最大的操作指令之一,對(duì)其優(yōu)化的程度十分重要。

6)操作系統(tǒng)的優(yōu)化。操作系統(tǒng)是否優(yōu)化能夠直接影響數(shù)據(jù)庫(kù)系統(tǒng)的性能,主要從Oracle的規(guī)劃、服務(wù)器等方面進(jìn)行調(diào)整。

2 ORACLE數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的優(yōu)化途徑

2.1 索引優(yōu)化

索引的優(yōu)化主要包括哈希索引、位圖索引、分區(qū)索引、以函數(shù)為基礎(chǔ)的索引四個(gè)內(nèi)容。HASH結(jié)構(gòu)主要用來(lái)存儲(chǔ)碼值,當(dāng)HASH函數(shù)被應(yīng)用于碼值時(shí),HASH函數(shù)以近似于隨機(jī)的方式進(jìn)行分布。哈希索引的訪問(wèn)速度較快,但要使用該索引就必須先建立一個(gè)群集,通過(guò)指令來(lái)告訴群集,如何進(jìn)行存儲(chǔ)和整合。位圖索引在進(jìn)行數(shù)據(jù)載入時(shí),一般來(lái)說(shuō)要比B*樹(shù)的效率更高一些。位圖索引的加入主要是為了適應(yīng)特殊的查詢情況,一般適用于DDS-Decision Support System和數(shù)據(jù)庫(kù),其在普通的行為中并不常用。分區(qū)索引即是指將索引劃分成許多部分,主要分為本地索引和全局索引,每個(gè)索引類型中又根據(jù)有無(wú)前綴分成兩種子類型。通過(guò)分區(qū)索引之后,可將不同的片段進(jìn)行單獨(dú)訪問(wèn)或存儲(chǔ),這是索引沒(méi)有的功能。以函數(shù)為基礎(chǔ)的索引使得使用者能對(duì)正在進(jìn)行運(yùn)算的數(shù)據(jù)進(jìn)行索引。也就是說(shuō),以函數(shù)為基礎(chǔ)的索引能夠允許多種方式和語(yǔ)句的搜索和查詢。

2.2 查詢優(yōu)化

查詢優(yōu)化主要通過(guò)對(duì)SQL的轉(zhuǎn)換來(lái)進(jìn)行。當(dāng)SQL語(yǔ)句表達(dá)查詢時(shí),其方式較多。Oracle數(shù)據(jù)庫(kù)能夠?qū)崿F(xiàn)復(fù)雜的SQL轉(zhuǎn)換,其目的是將既定的SQL轉(zhuǎn)換為含義相近且性能更優(yōu)的數(shù)據(jù)。Oracle能夠進(jìn)行多種SQL轉(zhuǎn)換,并可大致將其分為兩種類型,一類是試探查詢轉(zhuǎn)換,一類是以成本為基礎(chǔ)的轉(zhuǎn)換。前者按其復(fù)雜程度又可分為簡(jiǎn)單合并和復(fù)雜合并兩種類型。以開(kāi)銷為基礎(chǔ)的轉(zhuǎn)換主要包括實(shí)體化視圖轉(zhuǎn)換、OR擴(kuò)展、星型轉(zhuǎn)換、外連接試圖的關(guān)鍵詞下推、連接排序等內(nèi)容。其中OR擴(kuò)展技術(shù)能夠?qū)в蠴R的查詢指令置換成沒(méi)有OR的查詢指令,而星型置換主要用于數(shù)據(jù)庫(kù)的模型建設(shè),可用來(lái)存儲(chǔ)數(shù)據(jù)。查詢優(yōu)化是數(shù)據(jù)能否獲得最優(yōu)性能的重要因素,ORACLE的查詢優(yōu)化功能較多,不僅僅可用于各數(shù)據(jù)倉(cāng)庫(kù)用戶的訪問(wèn),還能在用戶查詢時(shí)自動(dòng)進(jìn)行調(diào)整。

2.3 并行查詢優(yōu)化

并行處理技術(shù)能夠?qū)B級(jí)的數(shù)據(jù)進(jìn)行訪問(wèn),因此其在數(shù)據(jù)庫(kù)技術(shù)中占有重要地位??梢哉f(shuō),如果沒(méi)有此技術(shù),大數(shù)據(jù)群集將不復(fù)存在。所謂并行處理就是指通過(guò)多個(gè)中央處理器和I/O對(duì)單一數(shù)據(jù)庫(kù)進(jìn)行操作。并行的類型主要有并行查詢、并行DML,以及并行DDL三種操作類型。并行處理的原理是將一個(gè)數(shù)據(jù)劃分為多個(gè)部分,對(duì)此技術(shù)進(jìn)行優(yōu)化,重點(diǎn)是怎樣做出將其劃分為更小的部分的正確決定。若使用Oracle的非靜態(tài)處理體系,能夠使得資源共享,此時(shí)并行處理和劃分決策并不互相沖突,也不受制于任何的非動(dòng)態(tài)數(shù)據(jù)分布。Oracle數(shù)據(jù)庫(kù)能夠?qū)ζ渲械娜魏蝺?nèi)容進(jìn)行操作,并以共享所有內(nèi)容的措施建立處理體系。因此,不論是將數(shù)據(jù)存儲(chǔ)到獨(dú)立的區(qū)域,還是設(shè)定新的索引指令,其都能快速高效地完成并行。

3 ORACLE數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的優(yōu)化實(shí)例

3.1管理系統(tǒng)的綜合設(shè)計(jì)

以聯(lián)通應(yīng)用系統(tǒng)的綜合設(shè)計(jì)為例。該系統(tǒng)在聯(lián)通的運(yùn)營(yíng)管理中處于極為關(guān)鍵的地位,其是以聯(lián)通管理為基礎(chǔ)形成的覆蓋了聯(lián)通大部分業(yè)務(wù)的管理系統(tǒng)。在該系統(tǒng)中,各類運(yùn)行程序是互相影響和可連接的關(guān)系,各個(gè)拆分系統(tǒng)進(jìn)行數(shù)據(jù)和信息的傳輸,以實(shí)現(xiàn)資源共享。系統(tǒng)的綜合結(jié)構(gòu)主要包括高速網(wǎng)絡(luò)、由UNIX主機(jī)組成的服務(wù)器、存儲(chǔ)空間等部分組成。網(wǎng)絡(luò)結(jié)構(gòu)的連接是通過(guò)廣域網(wǎng)接通到防火墻,再連接到局域網(wǎng)。服務(wù)器的主機(jī)分為數(shù)據(jù)庫(kù)和運(yùn)用以及相關(guān)的備份服務(wù)器。其中數(shù)據(jù)庫(kù)主要用于信息的解決和計(jì)算;運(yùn)用服務(wù)器主要用于對(duì)涉及的應(yīng)用程序進(jìn)行分配;而備用服務(wù)器則用于突發(fā)情況的應(yīng)對(duì),以保證系統(tǒng)的運(yùn)轉(zhuǎn)效率。另外,對(duì)管理系統(tǒng)的綜合設(shè)計(jì)還包括應(yīng)用程序的邏輯結(jié)構(gòu),整個(gè)結(jié)構(gòu)主要包括三個(gè)部分,即用于與客戶進(jìn)行交互的客戶層,接用戶的要求指令進(jìn)行處理并發(fā)展結(jié)構(gòu)的中間層,以及負(fù)責(zé)處理信息、接收來(lái)自中間層所傳輸?shù)闹噶钸M(jìn)行處理并將最終結(jié)果反饋的數(shù)據(jù)庫(kù)層。

3.2 SQL的優(yōu)化

ORACLE數(shù)據(jù)庫(kù)是目前行業(yè)內(nèi)應(yīng)用頻率最高的數(shù)據(jù)庫(kù)之一,其利用不同的SQL語(yǔ)句來(lái)對(duì)其中的內(nèi)容進(jìn)行處理或操作。SQL語(yǔ)句大致包含了系統(tǒng)控制語(yǔ)言、信息掌控語(yǔ)句、信息定義語(yǔ)句等內(nèi)容。其中數(shù)據(jù)操控語(yǔ)句主要負(fù)責(zé)進(jìn)行數(shù)據(jù)的查詢或掌控,包括信息的插入、更新以及刪除等操作。信息定義語(yǔ)言主要負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)服務(wù)主體的管理,即建立、修改或清除等。系統(tǒng)控制語(yǔ)言主要職責(zé)是負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)實(shí)例的屬性進(jìn)行修改和更新。前文有述,相同的SQL可以利用不同的方法來(lái)操作,例如索引、哈希連接等。因此對(duì)于SQL語(yǔ)言的執(zhí)行來(lái)說(shuō),其優(yōu)化器的優(yōu)化方式的選擇能夠直接影響最終的優(yōu)化效果,優(yōu)化器的模式不同,則其對(duì)SQL語(yǔ)句發(fā)生的執(zhí)行指令也可能不同。例如,若SQL語(yǔ)言中的任何一個(gè)表在整個(gè)庫(kù)中有信息存在,則可采用CBO,并將吞吐量最佳作為優(yōu)化器的優(yōu)化目的。另外,索引對(duì)SQL的優(yōu)化影響主要體現(xiàn)在對(duì)其訪問(wèn)途徑的改變,選擇正確的索引方式是SQL語(yǔ)言能夠進(jìn)行優(yōu)化的核心所在。

3.3 優(yōu)化ORACLE存儲(chǔ)空間

在聯(lián)通應(yīng)用系統(tǒng)的綜合設(shè)計(jì)中,數(shù)據(jù)庫(kù)內(nèi)存空間為8G,其分配情況大致如下:將內(nèi)存的二分之一劃分給Oracle,操作系統(tǒng)的占用空間約為1G,剩下的部分全部用來(lái)做備用存儲(chǔ)。劃分給Oracle的存儲(chǔ)空間包括PGA以及SGA兩個(gè)部分。Oracle在進(jìn)行數(shù)據(jù)提取時(shí),一般在存儲(chǔ)空間中查詢,若查詢失敗則讀取磁盤內(nèi)存,在其中查找需要的數(shù)據(jù)和信息。由于劃分給Oracle的存儲(chǔ)空間并不充足,因此可對(duì)其相關(guān)參數(shù)進(jìn)行調(diào)整來(lái)增加其存儲(chǔ)空間的大小。例如將LOG_BUFFER的內(nèi)存從原來(lái)的500k增加到1M等,進(jìn)行優(yōu)化之后Oracle的存儲(chǔ)空間能夠占到總數(shù)的三分之二左右,以達(dá)到Oracle應(yīng)用系統(tǒng)的性能優(yōu)化目的。

4 結(jié)束語(yǔ)

嚴(yán)格來(lái)說(shuō),數(shù)據(jù)庫(kù)的優(yōu)化除了對(duì)當(dāng)前的應(yīng)用程序和信息進(jìn)行優(yōu)化之外,還滲透于整個(gè)數(shù)據(jù)庫(kù)的所有階段,例如編碼、實(shí)驗(yàn)等。在數(shù)據(jù)庫(kù)優(yōu)化的每個(gè)環(huán)節(jié),都需要對(duì)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能優(yōu)化進(jìn)行細(xì)致的分析和規(guī)劃。應(yīng)用系統(tǒng)性能降低大多是源于過(guò)度的消耗,因此在對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化時(shí),對(duì)其設(shè)計(jì)方案和硬件設(shè)施進(jìn)行優(yōu)化是幫助提高性能的關(guān)鍵所在,從而實(shí)現(xiàn)應(yīng)用系統(tǒng)的優(yōu)化和性能提升。

參考文獻(xiàn):

[1]王春梅,陳學(xué)明.基于Oracle數(shù)據(jù)庫(kù)電信CRM經(jīng)營(yíng)分析系統(tǒng)的性能優(yōu)化[J].計(jì)算機(jī)與數(shù)字工程,2015(3):418-422.

[2]楊嵩.淺談Oracle數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能優(yōu)化[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2015(3):111-112+115.

[3]李榮會(huì),周觀民.Oracle數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)性能優(yōu)化問(wèn)題探討[J].數(shù)字技術(shù)與應(yīng)用,2012(6):215-216.

[4]袁佰順,朱擁軍,李曉鶴.基于ORACLE的隴東南區(qū)域自動(dòng)氣象站數(shù)據(jù)庫(kù)設(shè)計(jì)及應(yīng)用[J].干旱氣象,2014(3):475-480.

猜你喜歡
應(yīng)用系統(tǒng)Oracle數(shù)據(jù)庫(kù)優(yōu)化途徑
高校行政人員的績(jī)效管理及其優(yōu)化途徑
事業(yè)單位檔案管理工作優(yōu)化途徑分析
市場(chǎng)經(jīng)濟(jì)下的城鄉(xiāng)規(guī)劃資源配置優(yōu)化途徑
企業(yè)云平臺(tái)建設(shè)研究