<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    海鷗航際

    JAVA站
    posts - 11, comments - 53, trackbacks - 1, articles - 102

    Oracle數(shù)據(jù)庫(kù)及應(yīng)用程序優(yōu)化

    摘 要:本文對(duì)ORACLE數(shù)據(jù)庫(kù)及ORACLE應(yīng)用程序的優(yōu)化,進(jìn)行了全面的分析與研究,并提出了自己的一些建議。

    關(guān) 鍵 詞:ORACLE,優(yōu)化,數(shù)據(jù)庫(kù),SQL

    1 引言

      隨著信息化時(shí)代的到來(lái),人們開(kāi)始廣泛地使用數(shù)據(jù)庫(kù)技術(shù)對(duì)大量而復(fù)雜的信息進(jìn)行科學(xué)高效的管理。在數(shù)據(jù)庫(kù)領(lǐng)域中的各種應(yīng)用軟件大量涌現(xiàn),有Visual Foxpro,Power Builder等等,但其中ORACLE是這個(gè)領(lǐng)域中最優(yōu)秀也是最流行的大型數(shù)據(jù)庫(kù)應(yīng)用軟件。本文就在ORACAL中如何優(yōu)化數(shù)據(jù)庫(kù)及其應(yīng)用程序進(jìn)行了研究。

    2 優(yōu)化數(shù)據(jù)庫(kù)

    2.1 優(yōu)化設(shè)置控制文件的個(gè)數(shù),位置及其備份

    建議CONTROL_FILE初始化參數(shù)中指定多個(gè)文件應(yīng)大于2,并將控制文件鏡像到不同位置,并要把這些控制文件備份到安全的磁盤(pán)中。

    2.2 優(yōu)化設(shè)計(jì)表空間,數(shù)據(jù)文件的大小及位置

    2.2.1 設(shè)計(jì)表空間

      盡量把同一時(shí)間對(duì)磁盤(pán)的讀寫(xiě)操作分散開(kāi),如對(duì)一個(gè)表中數(shù)據(jù)進(jìn)行更新時(shí),數(shù)據(jù)庫(kù)將同時(shí)去讀該表中的數(shù)據(jù)和該表上的索引信息,如果把表的數(shù)據(jù)信息和索引信息都放在同一個(gè)數(shù)據(jù)文件中,則數(shù)據(jù)庫(kù)的速度將會(huì)變慢。最好是把數(shù)據(jù)信息和索引信息分別放在不同磁盤(pán)的兩個(gè)數(shù)據(jù)文件中,此時(shí)數(shù)據(jù)庫(kù)對(duì)磁盤(pán)的讀寫(xiě)操作將分散在兩個(gè)磁盤(pán)上,速度將得到顯著提高。因此在設(shè)計(jì)數(shù)據(jù)庫(kù)的表空間和數(shù)據(jù)文件時(shí),首先給表和表的索引分別創(chuàng)建兩個(gè)表空間(存放用戶數(shù)據(jù)的數(shù)據(jù)表空間和存放表索引的索引表空間)。另外,還根據(jù)該系統(tǒng)的數(shù)據(jù)量的大小及系統(tǒng)中的數(shù)據(jù)的性質(zhì)不同,再考慮創(chuàng)建幾個(gè)數(shù)據(jù)表空間或者給數(shù)據(jù)表空間添加幾個(gè)數(shù)據(jù)文件。

    2.2.2 設(shè)計(jì)數(shù)據(jù)文件的大小

      把記錄大小相當(dāng)?shù)谋矸旁谕粋€(gè)表空間中,這時(shí)一個(gè)表空間的存儲(chǔ)參數(shù)設(shè)置,可以保證表中的記錄都放在一個(gè)范圍中,避免了一條記錄跨范圍存放,可以明顯數(shù)據(jù)庫(kù)的性能。

    2.2.3 設(shè)計(jì)數(shù)據(jù)文件的位置

      為了避免磁盤(pán)的I/O操作沖突,應(yīng)把數(shù)據(jù)文件創(chuàng)建在不同位置。

    2.3 優(yōu)化設(shè)計(jì)重演日志文件

    2.3.1 重演日志文件的大小

      由于數(shù)據(jù)庫(kù)在利用重演日志文件時(shí)是循環(huán)使用它們的,而且當(dāng)LGWR進(jìn)程在兩個(gè)日志文件切換時(shí),將自動(dòng)產(chǎn)生一個(gè)檢測(cè)點(diǎn),所以重演日志文件的大小會(huì)直接影響到檢測(cè)點(diǎn)出現(xiàn)的頻率。而由于在數(shù)據(jù)庫(kù)檢測(cè)點(diǎn)時(shí),對(duì)用戶而言,數(shù)據(jù)庫(kù)的速度會(huì)受影響,所以檢測(cè)點(diǎn)的出現(xiàn)頻率大,或者檢測(cè)點(diǎn)正好出現(xiàn)在數(shù)據(jù)庫(kù)處理數(shù)據(jù)高峰期,將會(huì)極大影響數(shù)據(jù)庫(kù)的性能。因此,重演日志文件的大小設(shè)計(jì),應(yīng)考慮檢測(cè)點(diǎn)出現(xiàn)的頻率以及檢測(cè)點(diǎn)應(yīng)避開(kāi)數(shù)據(jù)庫(kù)處理數(shù)據(jù)的高峰期。

    2.3.2 重演日志文件組的個(gè)數(shù)

      在ARCHIVELOG模式下時(shí),適當(dāng)增加重演日志文件組的個(gè)數(shù),可以降低數(shù)據(jù)庫(kù)存檔日志文件的頻率。

    2.3.3 重演日志文件的存檔

      應(yīng)把重演日志文件的存檔之處設(shè)置在磁盤(pán)讀寫(xiě)更快的物理設(shè)備上。這樣可以減少日志文件的存檔時(shí)間。

    2.4 回滾段的優(yōu)化設(shè)計(jì)

    2.4.1 回滾段數(shù)目的設(shè)計(jì)

      要考慮數(shù)據(jù)庫(kù)需要支持的并發(fā)事務(wù)的數(shù)目,因?yàn)槊總€(gè)回滾段有其所能支持的最大事務(wù)數(shù),如果回滾段數(shù)目不夠多,則有些新事務(wù)被迫要等待,將影響數(shù)據(jù)庫(kù)的性能。

    2.4.2 回滾段大小的設(shè)計(jì)

      要考慮該回滾段能容納數(shù)據(jù)庫(kù)可能的最大事務(wù)的回滾項(xiàng)數(shù)。

    2.5 優(yōu)化數(shù)據(jù)庫(kù)使用的內(nèi)存配置

      要調(diào)整數(shù)據(jù)庫(kù)的高速緩沖區(qū),共享池、重演日志緩沖區(qū)和進(jìn)程全局區(qū)的大小平衡問(wèn)題。

    3 優(yōu)化應(yīng)用程序

    3.1 采取統(tǒng)一的SQL程序

      因?yàn)镺RACLE在執(zhí)行SQL文時(shí),首先將當(dāng)前要執(zhí)行的SQL文與公共區(qū)域中保存的先前執(zhí)行過(guò)的SQL文進(jìn)行比較,SQL文相同時(shí),就會(huì)跳過(guò)當(dāng)前要執(zhí)行的SQL文的解析處理,這樣通過(guò)減少解析次數(shù)就加快SQL文的執(zhí)行速度。

    3.2 選取合適的SQL代碼

      在進(jìn)行數(shù)據(jù)庫(kù)操作時(shí),同一結(jié)果可以用很多方法來(lái)實(shí)現(xiàn)。我們應(yīng)當(dāng)選取合適的SQL代碼,使其更容易明了,并且運(yùn)行速度更快。

    3.3 明確列名

      使用SELECT取得的列名一定要明確指定,并且應(yīng)當(dāng)使抽出的記錄要盡量少。用SORT等的場(chǎng)合,因?yàn)镺RACLE將必要的列的值放到WORK領(lǐng)域,因此減少列數(shù)也就節(jié)約了I/O回?cái)?shù)。

    3.4 注意結(jié)合索引的順序

      由于列的順序不同而導(dǎo)致索引的作用效果不同。例如:(AGE,ADDRESS)順序的結(jié)合索引。

    WHERE AGE=28 AND ADDRESS="BEI JING" &結(jié)合索引有效
    WHERE AGE=28 &結(jié)合索引有效
    WHERE ADDRESS="BEI JING" &結(jié)全索引無(wú)效

    3.5 注意WHERE的使用

    3.5.1 索引列不要使用函數(shù)

      由于索引列一旦使用了函數(shù),索引就會(huì)變無(wú)效,因此在能用索引的情況下,盡量改變程序來(lái)利用索引。如:

    WHERE SUBSTR(TELNO,2,2)="88"改為WHERE TELNO LIKE "88%"較好。

    3.5.2 索引列不要使用NOT

      由于索引列一旦使用不等于,索引就會(huì)變得無(wú)效,最后導(dǎo)致速度變慢。

    3.5.3 不要用NULL

      如果用了NULL,索引就會(huì)無(wú)效,變成全表檢索,影響處理速度。

    3.5.4 不要對(duì)索引列進(jìn)行計(jì)算

      如果對(duì)索引列進(jìn)行計(jì)算,索引就會(huì)無(wú)效,也后導(dǎo)致速度變慢。

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

      本文所提出的優(yōu)化方法,能夠起到提高ORACLE數(shù)據(jù)庫(kù)性能以及提高ORACLE應(yīng)用程序執(zhí)行效率的作用。這僅是個(gè)人在實(shí)際工作中的經(jīng)驗(yàn)總結(jié),希望能夠?qū)V大同行起到一定幫助作用。

    主站蜘蛛池模板: 污污视频网站免费观看| 亚洲最大免费视频网| 黄色网页免费观看| 美女被免费网站视频在线| 亚洲国产AV一区二区三区四区| 亚洲欧洲无卡二区视頻| 亚洲精品无AMM毛片| 一级女人18片毛片免费视频| 一级毛片a女人刺激视频免费| 精品一区二区三区免费 | 亚洲无码高清在线观看| 国产亚洲综合网曝门系列| 黄色网址免费观看| 在线观看片免费人成视频无码| 国产日韩一区二区三免费高清| 亚洲人成免费电影| 亚洲第一页综合图片自拍| 国产成人精品日本亚洲专区61 | 亚洲AV无码国产在丝袜线观看| 97久久精品亚洲中文字幕无码| 亚洲av日韩av永久无码电影| 免费无码作爱视频| 国产免费131美女视频| 亚洲免费精彩视频在线观看| 亚洲av无码偷拍在线观看| 无码人妻久久一区二区三区免费| 波多野结衣久久高清免费 | 免费福利在线观看| 野花高清在线电影观看免费视频| 亚洲精品成人无码中文毛片不卡| 亚洲一区二区三区高清不卡| 亚洲免费精彩视频在线观看| 亚洲天堂在线视频| 大桥未久亚洲无av码在线| 日韩免费一区二区三区在线 | 亚洲国产成人爱av在线播放| 亚洲一级毛片免费看| 日韩精品人妻系列无码专区免费| 亚洲国产综合精品中文字幕 | 蜜桃AV无码免费看永久| 亚洲AV第一页国产精品|