999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Oracle 10g HWM原理及性能優(yōu)化*

2013-02-28 05:10:34
關(guān)鍵詞:數(shù)據(jù)庫效率優(yōu)化

蔡 焰

(廣東韶關(guān)學(xué)院 圖書館,廣東 韶關(guān) 512005)

Web2.0與Web3.0的發(fā)展都離不開后臺支持?jǐn)?shù)據(jù)庫,數(shù)據(jù)庫運(yùn)行的好壞、快慢,直接影響到使用者的應(yīng)用,因而本文將重點(diǎn)研究信息資源建設(shè)中后臺數(shù)據(jù)庫的優(yōu)化策略。Oracle數(shù)據(jù)庫是具有高可靠性、高安全性、高兼容性的大型關(guān)系型數(shù)據(jù)庫,是信息化建設(shè)的重要基礎(chǔ)平臺。網(wǎng)絡(luò)中的信息資源數(shù)據(jù)庫具有異構(gòu)、數(shù)據(jù)量大、多媒體內(nèi)容多、查詢頻繁等特點(diǎn),伴隨網(wǎng)絡(luò)不斷深入的應(yīng)用,其存儲在數(shù)據(jù)庫中的數(shù)據(jù)量越來越多,而傳統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)方法使得數(shù)據(jù)庫隨著訪問數(shù)據(jù)量的增大其性能明顯地降低[1]。Oracle的邏輯空間管理是Oracle管理和優(yōu)化的重要部分,ASSM段空間自動管理下的HWM問題對Oracle的存儲管理和性能優(yōu)化有重大影響。本文在探討Oracle 10g邏輯存儲管理的基礎(chǔ)上,針對HWM下的碎片問題提出了相關(guān)的優(yōu)化策略,并對其空間重組前后進(jìn)行了性能測試。

1 Oracle存儲管理

1.1 Oracle邏輯存儲管理

Oracle在邏輯存儲上分4個粒度,如圖1所示。

(1)Block(塊):粒度最小的存儲單位,標(biāo)準(zhǔn)默認(rèn)大小是8 KB,Oracle每一次I/O操作都是按Block來進(jìn)行的。

(2)Extent(區(qū)):由一系列相鄰的 Block組成,是 Oracle空間分配的基本單位[2],Oracle是以Extent為單位進(jìn)行擴(kuò)展的。

(3)Segment(段):由一系列的 Extents所組成[2],當(dāng)創(chuàng)建一個對象時(shí)(表或索引),就會分配一個 Segment給這個對象。

(4)Tablespace(表 空 間): 包 括 Segment、Extent和Block,Tablespace的數(shù)據(jù)物理上存儲在其所在的數(shù)據(jù)文件中,一個數(shù)據(jù)庫最少要有一個Tablespace。

1.2 HWM

高水標(biāo)記HWM(High-Water Mark)這個概念在Segment的存儲內(nèi)容中是比較重要的。簡單來說,HWM代表一個表使用的最大(top limit)塊(如圖 2所示),就是一個Segment中已使用和未來使用的Block的分界線[3]。圖2顯示了HWM首先位于新創(chuàng)建表的第一個塊中,隨著數(shù)據(jù)的插入和更新,使用了越來越多的塊,當(dāng)現(xiàn)有空間不足而進(jìn)行空間擴(kuò)展時(shí)HWM會隨之向上移。如果刪除一部分行數(shù)據(jù),可能會有許多塊不再包含數(shù)據(jù),但HWM不會往下移,被占用的最高空間稱為HWM。

Oracle在做全表掃描時(shí)會讀取HWM下的所有Blocks,即使其中不包含任何數(shù)據(jù),Oracle都會一一讀取,這會大大影響系統(tǒng)的性能,特別是當(dāng)HWM之下的大多數(shù)塊都為空時(shí)。

如果一個OLTP系統(tǒng)(即聯(lián)機(jī)事務(wù)處理,就是常說的關(guān)系數(shù)據(jù)庫,對記錄進(jìn)行增、刪、改、查)應(yīng)用頻繁地對某個表里的記錄進(jìn)行DML(Data Manipulation Language)操作(即數(shù)據(jù)操縱語言,一種命令使用戶能夠查詢數(shù)據(jù)庫以及操作已有數(shù)據(jù)庫中的數(shù)據(jù)的計(jì)算機(jī)語言),會造成Block中數(shù)據(jù)分布稀疏,導(dǎo)致HWM下存在大量的碎片,浪費(fèi)大量的空間。當(dāng)做全表掃描時(shí),Oracle會讀取HWM之下的所有塊,即使其中不包含數(shù)據(jù)[3]。對于HWM以下表的碎片,做全表訪問時(shí)必然增加一致性讀,因而影響到響應(yīng)時(shí)間,降低系統(tǒng)性能。

2 優(yōu)化策略

對于增、刪、改操作比較頻繁的表,尤其是刪除操作比較頻繁的表,一般表的高水位HWM值會偏高,也就是表中數(shù)據(jù)塊碎片高,雖然ASSM的自動空間管理能提高DML操作并發(fā)訪問的性能,但是HWM下高碎片的產(chǎn)生會大大影響訪問效率,而減少碎片、降低對象的HWM可提高對象的訪問效率,從而達(dá)到性能優(yōu)化,大大提高數(shù)據(jù)的訪問效率。表對象可以通過shrink或move方法實(shí)現(xiàn)重組、減少碎片、降低HWM,進(jìn)行性能優(yōu)化;索引對象可以提供rebuild的方法來實(shí)現(xiàn)重組、減少碎片、降低HWM,進(jìn)行性能優(yōu)化。當(dāng)然,在對表及索引進(jìn)行shrink或move及rebuild操作時(shí),最好選擇在非業(yè)務(wù)高峰時(shí)進(jìn)行,避免影響業(yè)務(wù)的正常運(yùn)轉(zhuǎn)。

shrink與move操作有一些不同,但都可以完成表中碎片的整理,在此可做一些比較:

(1)move的執(zhí)行效率比shrink高,因?yàn)閟hrink會產(chǎn)生 redo log、undo log;

(2)shrink對數(shù)據(jù)的移動是從后往前的,所以shrink不需要使用額外的空閑空間,而move是需要額外空閑空間的;

(3)對帶有索引的表進(jìn)行shrink操作時(shí),索引是不需要重建的;而對帶有索引的表進(jìn)行move操作時(shí),索引是需要rebuild重建的,否則索引不可用;

(4)對表進(jìn)行shrink操作時(shí),必須打開表的行遷移屬性。

shrink和move都會對操作的表加表級獨(dú)占鎖,因此其他session對此表執(zhí)行 DML操作時(shí),存在鎖等待;當(dāng)shrink或move操作執(zhí)行完成,鎖釋放。

索引的rebuild是可以在線完成的,比較適合在高可用環(huán)境下完成。

另外,shrink是10g的新特性,僅對ASSM管理表空間有效。

具體命令操作如下:

3 性能優(yōu)化測試

對于碎片較多的表,可以通過shrink或move操作降低表中HWM高水位的值來進(jìn)行性能優(yōu)化。下面以shrink命令為例子進(jìn)行測試。

3.1 對TEST表進(jìn)行分析

(1)表大小

(2)表的實(shí)際數(shù)據(jù)大小:2.439 MB

從以上的SQL解釋計(jì)劃來看,SQL采用的是全表掃描讀的方式訪問,SQL將讀取表的高水位HWM以下的所有數(shù)據(jù)塊。

由上可知:(1)表TEST的大小為5.632 MB,但實(shí)際數(shù)據(jù)大小約為 2.439 MB,碎片率約為56.7%,表 TEST中存在大量的碎片;(2)查詢該表所有記錄所需要的時(shí)間為2 s。

3.2 碎片重組 優(yōu)化處理

通過shrink方式對表TEST作碎片重組實(shí)現(xiàn)對表的優(yōu)化處理。

通過對上對TEST表進(jìn)行優(yōu)化處理后可以看到:(1)shrink縮表操作后TEST表的大小從5.632 MB縮小到3.072 MB,縮小了近一半,從而降低了表TEST的HWM值;(2)再次執(zhí)行全表掃描的查詢SQL:select*from test;查詢時(shí)間縮短為1 s,SQL執(zhí)行速度大大提高。

3.3 測試結(jié)論

在對高碎片表進(jìn)行全表掃描讀的訪問方式時(shí),碎片增加了不必要的物理讀與內(nèi)存讀,也就增加了不必要的物理I/O與CPU的消耗,最終降低了對表數(shù)據(jù)的訪問速度,即影響了SQL語句的響應(yīng)時(shí)間。通過 shrink或者move操作對表碎片空間進(jìn)行重組,可以有效降低表中的HWM值,提高表的訪問效率,進(jìn)而提高block的命中率,在一定程度上,可以起到系統(tǒng)優(yōu)化的作用。

本文針對HWM下碎片問題對性能的影響,探討減少碎片空間的優(yōu)化策略,通過對碎片空間的重組來減少碎片的產(chǎn)生,以提高訪問效率。

數(shù)據(jù)庫性能優(yōu)化是一項(xiàng)復(fù)雜的系統(tǒng)工程,是一個循序漸進(jìn)的過程,應(yīng)該針對Oracle運(yùn)行過程中出現(xiàn)的各種問題,找出性能瓶頸,有針對性地對系統(tǒng)進(jìn)行調(diào)整,保證數(shù)據(jù)庫高效可靠的運(yùn)行。

[1]高敬媛,趙克寶.校園網(wǎng)數(shù)據(jù)庫性能優(yōu)化技術(shù)[J].煤炭技術(shù),2011,30(07):226-228.

[2]KYTE T,ORACLE E,Signature edition programming techniques and solutions for Oracle 7.3 through 8.1.7(Expert One-On-One)[M].New York:Apress,2010.

[3]KYTE T.Expert Oracle database architecture:9i and 10g programming techniques and solutions[M].2006,San Bernardino:Macsource press,2006.

猜你喜歡
數(shù)據(jù)庫效率優(yōu)化
超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
關(guān)于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
提升朗讀教學(xué)效率的幾點(diǎn)思考
甘肅教育(2020年14期)2020-09-11 07:57:42
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
跟蹤導(dǎo)練(一)2
主站蜘蛛池模板: 欧美一级专区免费大片| 成人在线观看一区| 免费毛片视频| 亚洲v日韩v欧美在线观看| 日本午夜在线视频| 亚洲品质国产精品无码| 国产视频你懂得| 国产91透明丝袜美腿在线| 免费精品一区二区h| 久久久久九九精品影院 | 又大又硬又爽免费视频| 精品国产三级在线观看| 福利小视频在线播放| 亚洲美女一区二区三区| 国产欧美日韩va| 国产午夜人做人免费视频中文| 国产chinese男男gay视频网| 欧美亚洲日韩中文| 好紧太爽了视频免费无码| 欧美亚洲日韩中文| 国产精品免费电影| 国产精品亚洲va在线观看| 999国产精品永久免费视频精品久久| 亚洲综合一区国产精品| 国产熟睡乱子伦视频网站| 国产精品网曝门免费视频| 中文字幕无码电影| 成人福利在线观看| 九色综合视频网| 国产一在线| 亚洲日韩精品伊甸| 农村乱人伦一区二区| 欧美啪啪一区| 人妻无码中文字幕第一区| 欧美五月婷婷| 国产伦精品一区二区三区视频优播| 日韩天堂视频| 综合社区亚洲熟妇p| 精品国产成人三级在线观看| 亚洲一级毛片免费观看| 日韩无码视频播放| 欧美a在线看| 在线色国产| 色婷婷天天综合在线| 婷婷六月色| 97国产精品视频人人做人人爱| 国内精品视频| 波多野结衣爽到高潮漏水大喷| 色丁丁毛片在线观看| 99热精品久久| 色天天综合| 久草青青在线视频| 国产熟女一级毛片| 97在线国产视频| 国产亚洲视频中文字幕视频 | 一区二区三区成人| 精品久久综合1区2区3区激情| 日韩大片免费观看视频播放| 欧美天堂在线| 亚洲无码在线午夜电影| 亚洲美女视频一区| 亚洲成人精品在线| 国产精品成人一区二区不卡 | 久久无码免费束人妻| 这里只有精品在线播放| 国产成人免费高清AⅤ| a在线亚洲男人的天堂试看| 欧美日韩久久综合| 久久精品亚洲专区| 亚洲h视频在线| 网久久综合| 国产成人福利在线| 在线观看无码a∨| 欧美不卡二区| 久久国产精品国产自线拍| 91国内在线视频| 高清码无在线看| 久久香蕉国产线看观看精品蕉| 国产成人成人一区二区| 国产精品尤物铁牛tv| a级免费视频| 久久久噜噜噜|