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

?

Oracle數(shù)據(jù)庫優(yōu)化設(shè)計分析和探討

2018-11-30 03:21阮正平
科技與創(chuàng)新 2018年5期
關(guān)鍵詞:數(shù)據(jù)表緩沖區(qū)規(guī)范化

阮正平

(四川中電啟明星信息技術(shù)有限公司,四川 成都 610000)

隨著計算機技術(shù)在人們生產(chǎn)生活中的不斷推廣和使用,數(shù)據(jù)的數(shù)量和種類得到了極大的增長,為了更好地利用這些數(shù)據(jù),建立一個龐大的存放多種類型數(shù)據(jù)的“庫房”意義深遠,這種數(shù)據(jù)使用需求催生了數(shù)據(jù)庫的誕生和發(fā)展,而數(shù)據(jù)庫實質(zhì)上是對數(shù)據(jù)進行承載的一種載體。數(shù)據(jù)庫的建設(shè)和發(fā)展為龐大數(shù)據(jù)信息的存放和人們對數(shù)據(jù)的查詢、使用和管理等工作的開展提供了極大的便利。作為一種結(jié)構(gòu)復(fù)雜的數(shù)據(jù)庫管理系統(tǒng),Oracle數(shù)據(jù)庫為人們生產(chǎn)生活所廣泛應(yīng)用,并具有規(guī)模大和用戶多等特點。在Oracle數(shù)據(jù)庫運轉(zhuǎn)過程中,會涉及到多個環(huán)節(jié),而這每一個環(huán)節(jié)的工作又會對整個數(shù)據(jù)庫的性能產(chǎn)生深遠影響。為了使Oracle數(shù)據(jù)庫的性能得到最大程度的發(fā)揮,在充分了解Oracle數(shù)據(jù)庫基本構(gòu)架和工作原理的基礎(chǔ)上,對Oracle數(shù)據(jù)庫進行優(yōu)化設(shè)計具有十分重要的影響作用。

1 Oracle數(shù)據(jù)庫簡介

我們經(jīng)常使用的Oracle數(shù)據(jù)庫中的“Oracle”實際上是一種簡稱,它的英文全稱為“Oracle Database”,亦或是“Oracle RDBMS”,它屬于一種關(guān)系數(shù)據(jù)庫管理系統(tǒng),由美國甲骨文公司研發(fā)并推出應(yīng)用的一種性能數(shù)據(jù)管理系統(tǒng),具有較強的系統(tǒng)適應(yīng)性,可在多種微機環(huán)境中得以實踐應(yīng)用,并具有較好的系統(tǒng)可移植性、強大的功能性和方便的操作等多種優(yōu)點。Oracle數(shù)據(jù)庫從最初被推出應(yīng)用,已經(jīng)歷經(jīng)了多個版本,其性能隨著版本的不斷推出也在不斷提升,但是每一個版本的Oracle數(shù)據(jù)庫都有其自身具有的優(yōu)越性能。從當(dāng)前該數(shù)據(jù)庫的實踐應(yīng)用情況來看,Oracle數(shù)據(jù)庫的應(yīng)用十分廣泛,其中B/S和C/S架構(gòu)是最流行的。

2 OFA結(jié)構(gòu)和SGA的應(yīng)用

2.1 OFA結(jié)構(gòu)的應(yīng)用

在Oracle數(shù)據(jù)庫中,有一種結(jié)構(gòu)的應(yīng)用是專門針對該數(shù)據(jù)庫的邏輯配置和結(jié)構(gòu)的優(yōu)化而設(shè)置的,該結(jié)構(gòu)便是OFA結(jié)構(gòu),OFA是一種最佳靈活體系結(jié)構(gòu)。在OFA結(jié)構(gòu)的影響作用下,Oracle數(shù)據(jù)庫物理結(jié)構(gòu)變得更加簡潔,從而對邏輯對象的分布效率的提高起到積極的促進作用。因此,對于數(shù)據(jù)庫影響的分類是首先要做的一步,而這種分類操作主要依據(jù)2方面的內(nèi)容:一方面是數(shù)據(jù)庫中的邏輯對象的使用方式,另一方面是數(shù)據(jù)庫的物理結(jié)構(gòu)。這些分類工作的開展實質(zhì)上是分開一些不同類型的數(shù)據(jù),具體為分開系統(tǒng)數(shù)據(jù)和用戶數(shù)據(jù)、分開一般數(shù)據(jù)和索引數(shù)據(jù)以及分開低活動表和高活動表等內(nèi)容。

在對數(shù)據(jù)庫的邏輯結(jié)構(gòu)進行設(shè)計時,我們需要遵循以下5個原則:①要統(tǒng)計存儲相同方式的字段類型;②在對數(shù)據(jù)庫系統(tǒng)進行設(shè)計時,要嚴格遵循一定的使用標(biāo)準(zhǔn);③設(shè)置一定的分離區(qū)域;④在最大程度上緩解表空間沖突;⑤數(shù)據(jù)字典要作分離處理。

2.2 SGA的應(yīng)用

在Oracle數(shù)據(jù)庫中也有對內(nèi)存進行管理的關(guān)鍵模塊,這個模塊便是SGA。SGA可以說擔(dān)當(dāng)著Oracle數(shù)據(jù)庫內(nèi)存分配的重要任務(wù),因此,這也決定了整個數(shù)據(jù)庫性能的好壞在很大程度會受到SGA大小的影響。SGA主要是由數(shù)據(jù)塊緩沖區(qū)、字典緩沖區(qū)、重做日志緩沖區(qū)和SQL共享池4部分構(gòu)成。其中,數(shù)據(jù)塊緩存作為高速緩存在SGA中發(fā)揮著重要的作用,并通過最近最少使用方法來管理其空間。一般情況下,訪問頻率較高的數(shù)據(jù)塊對該部分的實踐應(yīng)用較為廣泛,要想對數(shù)據(jù)塊緩沖區(qū)的實際使用情況進行一定的了解,就要通過對v$sysstat動態(tài)性能表的查詢來實現(xiàn)。字典緩沖區(qū)包括很多內(nèi)容,主要為數(shù)據(jù)文件名、字段名和用戶賬號數(shù)據(jù)等信息。該部分對空間進行管理的途徑與數(shù)據(jù)塊緩沖區(qū)的空間管理方式相同,對于字典緩沖區(qū)具體使用情況的查詢主要是通過查詢v$librarycache動態(tài)性能表來進行。重做日志緩沖區(qū)則在數(shù)據(jù)的恢復(fù)過程中發(fā)揮著重要的作用。Oracle數(shù)據(jù)庫中執(zhí)行計劃的保持和SQL語句語法樹的運行是在SQL共享池部分來進行的,該部分對空間管理的方式與數(shù)據(jù)塊緩沖區(qū)和字典緩沖區(qū)的管理方式相同,而且一旦SQL的大小設(shè)置不當(dāng),有可能會降低整個數(shù)據(jù)庫的性能。

3 規(guī)范化和反規(guī)范化

3.1 規(guī)范化

對于某個級別關(guān)系模式的集合我們稱之為“范式”,我們將范式主要分為3種,即第一范式、第二范式和第三范式,它對于數(shù)據(jù)的規(guī)范化管理具有深遠的影響作用,可以有效減少因數(shù)據(jù)冗存帶來的不良影響。在對數(shù)據(jù)進行規(guī)范的過程中,要堅持逐步消除數(shù)據(jù)依賴中的不合理部分的基本處理思想,并在一定程度上嘗試對模式中關(guān)系模式的分離。

3.2 反規(guī)范化

雖然規(guī)范化對于數(shù)據(jù)庫的性能的提高具有較好的影響作用,但是,這種性能的優(yōu)化設(shè)計并不是絕對的,有時候為了改善特殊情況下數(shù)據(jù)的查詢,我們需要對規(guī)范規(guī)則進行一定程度的破壞,通過反規(guī)范化實現(xiàn)對數(shù)據(jù)的快速查詢。

4 邏輯結(jié)構(gòu)的優(yōu)化設(shè)計

4.1 基本表的設(shè)計

4.1.1 以用戶為中心進行表的設(shè)計

不合理的數(shù)據(jù)模型設(shè)計會在很大程度上限制SQL功能的發(fā)揮,對于表設(shè)計的規(guī)范化處理,可以在很大程度上提升數(shù)據(jù)庫的靈活度,并對整個系統(tǒng)開發(fā)和運行的開銷起到良好的降低效果。對于數(shù)據(jù)庫完整性的檢查,我們可以通過2種方式來實現(xiàn),其一是在數(shù)據(jù)庫即可完成,另一個是借助應(yīng)用程序來實現(xiàn)。要想在應(yīng)用程序中對數(shù)據(jù)庫的完整性進行隱藏,則需要編寫大量的管理代碼,這又會在很大程度上提升服務(wù)器的信息通信量,這直接或者間接地給整個系統(tǒng)的工作效率帶來了很大的不良影響。在設(shè)計數(shù)據(jù)庫邏輯結(jié)構(gòu)時,如果遵循規(guī)范化的理論,那么就可以確保數(shù)據(jù)庫服務(wù)器中數(shù)據(jù)庫完整性和一致性的實現(xiàn),但是如果在數(shù)據(jù)表的設(shè)計上對第三范式的要求具有過高的依賴性,會使需要拆分表的數(shù)量急劇提升,從而使得數(shù)據(jù)庫的服務(wù)器運行過程中需要多次進行表連接操作,最終對數(shù)據(jù)庫整體性能的實現(xiàn)帶來一定的不良影響。因此,在以用戶為中心進行表的設(shè)計的過程中,要處理好核心事務(wù)性和靈活性之間的關(guān)系,努力實現(xiàn)二者關(guān)系的平衡化發(fā)展。

4.1.2 數(shù)據(jù)類型的合理使用

Oracle數(shù)據(jù)庫中存儲的數(shù)據(jù)類型具有量大、種類多的特點,而我們要想對數(shù)據(jù)類型進行定義,就需要對數(shù)據(jù)類型進行明確,并且還要參考合理的數(shù)據(jù)長度,這樣不僅可以有效緩解因數(shù)據(jù)冗存帶來的不良影響,還可以對系統(tǒng)檢索效率的提升帶來積極的促進作用。

但是在實際數(shù)據(jù)庫的應(yīng)用中,也常有一些違背這些原則的做法,諸如存儲文本時使用的BLOB型或者存儲日期數(shù)據(jù)時使用的字符串。要想更好地規(guī)避此類不良現(xiàn)象的出現(xiàn),在對數(shù)據(jù)進行存儲時應(yīng)該盡量使用專門的數(shù)據(jù)類型。除此之外,我們在對數(shù)據(jù)進行存儲時,不僅要滿足相應(yīng)的要求,還要最大程度地節(jié)約占用的空間。但是,如果數(shù)據(jù)的長度不明確,一般情況下會對這類數(shù)據(jù)進行最大長度的定義。這種處理方式可以給數(shù)據(jù)庫系統(tǒng)的整體性能帶來極大的不良影響,在對Oracle數(shù)據(jù)庫的邏輯結(jié)構(gòu)進行優(yōu)化設(shè)計時,也要重視對數(shù)控類型的合理使用。

4.2 索引的優(yōu)化設(shè)計

4.2.1 管理組織索引

在Oracle數(shù)據(jù)庫中通過建立索引,可以安全映射數(shù)據(jù)表中的邏輯值,使得最終的映射結(jié)果達到指定的具有較高安全性的RowID,因此,對數(shù)據(jù)的物理地址進行快速定位,對于索引的積極構(gòu)建具有深遠影響。從索引的實際構(gòu)建情況來看,在大型數(shù)據(jù)表中構(gòu)建索引時,對于整體系統(tǒng)的性能會造成一定的不良影響。為此,在大型數(shù)據(jù)表中如果需要構(gòu)建索引,要兼顧系統(tǒng)的整體性能,這時可以在大型數(shù)據(jù)表中作分區(qū)處理,然后分別建立索引。

4.2.2 聚簇

要想實現(xiàn)對2個或2個以上表之間的查詢連接,通常情況下對聚簇的構(gòu)建可以為這種查詢連接的實現(xiàn)提供很大的便捷。舉個具體的例子:如果需要在通話信息表Dia(lcaller,receiver,time,length)和電話信息表 Phone(name,address,number)之間建立查詢連接,若在檢索條件中出現(xiàn)這句“Where receiver=‘123456’AND Dial.caller=Phone.number”頻率十分高,那么這2個表之間便可以構(gòu)建聚簇,通過聚簇,對2個表之間連接效率的提升帶來積極的促進作用。

4.2.3 索引被使用的條件

索引設(shè)置的優(yōu)化提升對數(shù)控庫整體性能的提高具有深遠影響,它可以進一步提高對數(shù)據(jù)庫訪問的速度。Oracle數(shù)據(jù)庫在使用索引時,至少需要滿足以下2個最基本的條件:①Where字句中的這個字段必須與索引的首個字段具有協(xié)調(diào)一致性,②在任何形式的計算中,都不應(yīng)該卷入Where字句中的這個字段。

5 物理結(jié)構(gòu)的優(yōu)化

5.1 磁盤讀寫的并行優(yōu)化

在數(shù)據(jù)庫訪問開銷中,磁盤I/O是十分重要的參考指標(biāo)。在優(yōu)化數(shù)據(jù)庫的物料結(jié)構(gòu)時,磁盤讀寫數(shù)據(jù)的次數(shù)具有一定的客觀性,我們無法進行人為的干預(yù),但是可以對磁盤讀寫競爭進行有效降低,這主要是以并行的方式來實現(xiàn),并給系統(tǒng)性能的提高帶來積極的促進作用。在采用磁盤讀取并行化時,我們要遵循以下2個原則:①盡量在不同物理磁盤中存放SYSTEM、TEMP和ROLLBACK等表;②在不同的磁盤之間部署好表乃至索引之間創(chuàng)建好的表空間。

5.2 減少存儲的動態(tài)擴展

即使建立好數(shù)據(jù)庫,如果存儲空間不足或者增幅長度不合理,在數(shù)據(jù)庫運行的時候,存儲結(jié)構(gòu)會出現(xiàn)動態(tài)擴展等不利現(xiàn)象。在存儲的動態(tài)擴展中,為了充分利用空閑空間,則需要借助SQL語句實現(xiàn)對數(shù)據(jù)詞典的存儲,整個過程不僅耗時較長,還極易提高數(shù)據(jù)文件和表空間值,這會對正在正常運行的數(shù)據(jù)庫系統(tǒng)的性能帶來很大的不良影響,會使得系統(tǒng)的整體性能突然降低。因此,在對Oracle數(shù)據(jù)庫物理結(jié)構(gòu)的優(yōu)化中,對存儲的動態(tài)擴展的減少也應(yīng)該給予充分的重視。

6 結(jié)束語

Oracle數(shù)據(jù)庫管理系統(tǒng)應(yīng)用十分廣泛,并具有較多的使用用戶,在大型數(shù)據(jù)庫工程發(fā)揮著十分重要的作用。而Oracle數(shù)據(jù)庫系統(tǒng)的性能在很大程度上會受到Oracle數(shù)據(jù)庫結(jié)構(gòu)的影響,一般情況下,良好的Oracle數(shù)據(jù)庫結(jié)構(gòu)可以在很大程度上使得Oracle數(shù)據(jù)庫的作用得到充分發(fā)揮。因此,要想對Oracle數(shù)據(jù)庫的性能進行進一步優(yōu)化,我們應(yīng)該將對整個數(shù)據(jù)庫性能起著基礎(chǔ)性影響作用的Oracle數(shù)據(jù)庫結(jié)構(gòu)作為優(yōu)化設(shè)計的切入點,對Oracle數(shù)據(jù)庫的邏輯結(jié)構(gòu)、物理結(jié)構(gòu)和索引等結(jié)構(gòu)進行積極的優(yōu)化設(shè)計,從而對整體數(shù)據(jù)庫的性能起到良好的提升作用。

[1]韋安云.Oracle數(shù)據(jù)庫的性能調(diào)整與優(yōu)化方法探析[J].電腦知識與技術(shù),2015,11(21):8-9.

[2]張璐.Oracle數(shù)據(jù)庫性能優(yōu)化與實時監(jiān)控研究[D].咸陽:西北農(nóng)林科技大學(xué),2015.

[3]雷明濤,李緒福.內(nèi)存數(shù)據(jù)庫與Oracle數(shù)據(jù)庫的數(shù)據(jù)同步設(shè)計與實現(xiàn)[J].信息化研究,2015,41(02):61-65.

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

[5]陳楊.JTangSpider:一種高性能Oracle數(shù)據(jù)庫同步平臺設(shè)計與實現(xiàn)[D].杭州:浙江大學(xué),2015.

猜你喜歡
數(shù)據(jù)表緩沖區(qū)規(guī)范化
基于VBA 的教務(wù)數(shù)據(jù)平臺研究
論中醫(yī)住院醫(yī)師規(guī)范化培訓(xùn)中的六個關(guān)系
如何做好建筑工地規(guī)范化安全管理
誰“捆住”基層的手腳?——泛濫的規(guī)范化和標(biāo)準(zhǔn)化
湖北省新冠肺炎疫情數(shù)據(jù)表(2.26-3.25)
湖北省新冠肺炎疫情數(shù)據(jù)表
湖北省新冠肺炎疫情數(shù)據(jù)表
緩沖區(qū)溢出漏洞攻擊及其對策探析
初涉緩沖區(qū)
計歲的規(guī)范化與年譜編纂體例
政和县| 定南县| 重庆市| 通榆县| 哈巴河县| 洪雅县| 侯马市| 兴国县| 偃师市| 新龙县| 宁波市| 峨眉山市| 铜鼓县| 囊谦县| 清河县| 镇赉县| 中阳县| 潞城市| 工布江达县| 宁德市| 榆树市| 宝坻区| 绥德县| 长沙县| 荥阳市| 招远市| 屯留县| 西宁市| 阳东县| 宣化县| 枣庄市| 佛坪县| 定州市| 武夷山市| 长白| 光山县| 赫章县| 玛曲县| 平昌县| 曲松县| 蕲春县|