亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學習啦>論文大全>學科論文>計算機論文>

      數(shù)據庫應用論文(2)

      時間: 堅烘964 分享

        數(shù)據庫應用論文篇二

        《數(shù)據庫應用系統(tǒng)性能優(yōu)化研究與實踐》

        摘要:本文主要從數(shù)據庫服務器內存參數(shù)調整,SQL語句優(yōu)化兩方面論述如何在系統(tǒng)設計,運行過程中對Oracle數(shù)據庫進行性能優(yōu)化。數(shù)據庫服務器內存參數(shù)調整主要論述共享池的大小設置問題,SQL語句優(yōu)化主要從Oracle解析SQL語句的機制方面來論述如何寫出高效的SQL語句。通過上述方面的調優(yōu)以確保數(shù)據庫系統(tǒng)的性能。

        關鍵詞:數(shù)據庫性能優(yōu)化 逆規(guī)范化設計 優(yōu)化策略

        中圖分類號:TP311.13 文獻標識碼:A 文章編號:1007-9416(2012)07-0058-01

        1、對數(shù)據庫服務器內存分配的調整

        由于對服務器內存參數(shù)的調整對oracle的性能影響顯著,它成為Oracle數(shù)據庫性能調優(yōu)的首選對象。服務器內存參數(shù)的調整主要是對數(shù)據庫系統(tǒng)全局區(qū)的調整,系統(tǒng)全局區(qū)包括共享池、數(shù)據緩沖區(qū)、日志緩沖區(qū)。其中最主要的是對數(shù)據緩沖區(qū)和共享池的參數(shù)調整。

        數(shù)據庫緩沖區(qū)的作用主要是將從磁盤中讀取的數(shù)據塊存放在內存緩存中,從這個意義上說數(shù)據庫緩沖區(qū)越大,存放的共享數(shù)據就越多,減少了對磁盤數(shù)據的物理讀操作,也就提高了系統(tǒng)的響應速度。

        共享池的作用主要是用來存放最近使用過的sql語句的,它由一個最近最少使用的算法來管理,由庫高速緩存和數(shù)據字典緩沖區(qū)兩部分組成。修改這一參數(shù)的設置,能提高系統(tǒng)性能,是由Oracle數(shù)據庫系統(tǒng)處理用戶提交的SQL語句的步驟決定的。

        2、Sql優(yōu)化

        由于應用程序的執(zhí)行最終歸結為后臺數(shù)據庫中SQL語句的執(zhí)行,SQL語句本身的執(zhí)行效率就成為了影響oracle數(shù)據庫執(zhí)行效率的一個重要因素,當我們對Oracle處理SQL語句的機制有所了解,通過對SQL語句進行適當?shù)恼{整,就能提高Oracle數(shù)據庫系統(tǒng)的性能。

        (1)在基于規(guī)則的優(yōu)化器中,Oracle對from子句中的表名是按照從右到左的順序進行解析的,即:From子句中排在最后的表會被首先處理。我們把這張表稱做驅動表。當from字句中包含多個標的情況下,oracle是通過排序合并的方式連接這些表的,為了提高oracle的執(zhí)行效率,應當選擇包含記錄條數(shù)少的表作為驅動表,即放在from子句的最后。

        (2)在oracle語句中,where子句的執(zhí)行順序是自下而上的對語句進行解析的。為了提高sql語句的執(zhí)行效率,應該將能過濾掉大量數(shù)據的條件寫在where子句的最后。

        (3)在selcect語句中使用*雖然對編程人員簡單方便,oracle會自動列出所有列名,但oracle解析*時則是通過查詢數(shù)據字典來完成對*的轉換的,這樣耗費了更多的時間用來查詢數(shù)據字典,轉換,必然降低執(zhí)行效率,因此在selcect語句中應當直接列出所有的列名。

        (4)用where子句代替having子句,在where子句中排除不需要的記錄,這樣的執(zhí)行效率將遠遠高于執(zhí)行完成之后用having子句對記錄進行篩選。

        3、軟件開發(fā)模式優(yōu)化策略

        3.1 避免訪問回滾段

        如果查詢數(shù)據庫時,要訪問的數(shù)據正被另外用戶修改,數(shù)據庫為了維護讀一致性,需要訪問會滾段來讀取查詢語句執(zhí)行時刻的數(shù)據值。如果應用程序需要經常讀取正在被其它用戶修改的數(shù)據,數(shù)據庫系統(tǒng)為了得到一個數(shù)據,不得不多次訪問磁盤。數(shù)據庫管理員可通過配置回滾段來減少查詢時“snapshot tooold”錯誤的發(fā)生。解決這個問題的根本方法還是需要重新修改應用程序設計,合理對事務進行劃分。

        3.2 表的分區(qū)和并行技術

        如果必須要在數(shù)據庫運行特別耗時的操作。應盡量地把這樣的操作分解,嚴格限制操作所涉及的記錄數(shù),并設法使操作并行,充分地提高執(zhí)行效率。

        (1)使用分區(qū)。分區(qū)技術有兩個潛在的好處:提高查詢性能和提高數(shù)據庫可用性。數(shù)據庫查詢時,優(yōu)化器知道那些分區(qū)包含查詢所要的數(shù)據。而其它分區(qū)數(shù)據將不會被讀取,從而查詢任務將更快完成。許多管理工作可在只一個分區(qū)上進行,而不影響其它分區(qū)的數(shù)據。例如可以選擇只刪除一個表分區(qū)中的數(shù)據。

        (2)使用并行。Oracle數(shù)據庫中幾乎所有的操作都支持并行特性,包括查詢、插入、和數(shù)據加載。并行選項可以使多個處理器同時處理一條命令,在創(chuàng)建庫數(shù)據庫對象時可以設定并行參數(shù),也可在查詢語句中重新設。

        4、軟件測試優(yōu)化策略

        許多情況下由于開發(fā)進度等原因,軟件性能壓力測試都進行的不充分。這就導致軟件產品交付時,不能確保軟件性能滿足用戶需求。這點常常被開發(fā)人員忽視。用戶不僅需要軟件能完成一定功能,更需要軟件能支撐自己業(yè)務的運行。因此應用軟件性能不能滿足業(yè)務處理的速度要求,軟件系統(tǒng)就需要優(yōu)化。測試必須驗證軟件性能能否在希望負載情況下,滿足業(yè)務處理的速度要求。

        (1)用大量的數(shù)據進行測試。系統(tǒng)使用一段時間后,數(shù)據庫的性能會發(fā)生變化。例如oracle數(shù)據庫一個表的pctfree和pctused參數(shù)設置可能會使數(shù)據塊只有一半的空間被利用或使數(shù)據庫記錄鏈接(chained)。上面的情形都會引起數(shù)據庫性能問題,且只有在應用程序使用了一段時間后才能被發(fā)現(xiàn)。

        (2)足夠多的用戶并發(fā)測試。只有一個測試用戶大多數(shù)情況下不能反映軟件真實使用情況下的負載情況。我們必須測試在多個并發(fā)用戶情況下是否會引起死鎖(deadlock)以及性能下降等問題。

        5、結語

        數(shù)據庫應用系統(tǒng)的性能優(yōu)化遠不是按照廠家所列的有關指南通過短短的幾步就可以達到的。要想獲得最大的優(yōu)化效果,既需要具有廣泛而深人的數(shù)據庫原理和系統(tǒng)實踐知識,又要有扎實的應用程序設計能力,同時要充分熟悉操作系統(tǒng)和有關的軟硬件環(huán)境。筆者在實際工作中利用這些策略進行了數(shù)個數(shù)據庫應用系統(tǒng)設計,這些系統(tǒng)都表現(xiàn)出了良好的運行性能。

        參考文獻

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

        [2]李愛武.Oracle數(shù)據庫系統(tǒng)原理.北京郵電大學出版社,2009-3-1:210.

      看過“數(shù)據庫應用論文”的人還看了:

      1.關于計算機數(shù)據庫運用方面的論文

      2.數(shù)據庫技術論文

      3.淺談交通運輸信息平臺數(shù)據庫的實現(xiàn)論文

      4.關于計算機數(shù)據庫技術的論文

      5.關于計算機數(shù)據庫技術方面論文

      6.計算機數(shù)據庫畢業(yè)論文

      2846604