天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當前位置:主頁 > 科技論文 > 計算機論文 >

SQLserver數(shù)據(jù)庫的性能優(yōu)化策略

發(fā)布時間:2015-02-13 09:42

摘 要:

摘 要:在信息化環(huán)境下,各種信息系統(tǒng)都離不開數(shù)據(jù)庫,數(shù)據(jù)庫的性能也直接影響了信息管理系統(tǒng)的運行和應用。因此,對數(shù)據(jù)庫系統(tǒng)進行性能優(yōu)化一直是計算機領域的一個重要課題。SQL server作為windows平臺下的一款主流數(shù)據(jù)庫,有著廣大的用戶群和應用領域,因此對于SQL server數(shù)據(jù)庫的性能優(yōu)化研究也非常重要。本文站在數(shù)據(jù)庫的結構設計和行為設計的視角,對SQL server數(shù)據(jù)庫的性能優(yōu)化策略進行了探討。

關鍵詞:

關鍵詞:SQL server 數(shù)據(jù)庫 性能優(yōu)化策略

  隨著計算機技術和網(wǎng)絡技術的飛速發(fā)展,計算機網(wǎng)絡的應用領域也在不斷擴大,各種信息系統(tǒng)已經(jīng)在人們的工作、生活中都得到了廣泛的應用,特別是一些基于互聯(lián)網(wǎng)的管理系統(tǒng),已經(jīng)與人們的工作、生活密不可分了。因此,這些信息數(shù)據(jù)庫系統(tǒng)的性能也越來越受到了人們的關注,尤其是一些數(shù)據(jù)訪問多、規(guī)模大、高并發(fā)的信息數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫系統(tǒng)是整個信息系統(tǒng)的核心部分,也是最為基礎的部分,數(shù)據(jù)庫的設計很大程度上關系到整個信息系統(tǒng)性能的優(yōu)劣。

  SQL是英文structured query language的縮寫,意思是結構化查詢語言。SQL server是一個大型的關系數(shù)據(jù)庫管理系統(tǒng),是由微軟公司開發(fā)推廣的,也是windows平臺下的一款主流數(shù)據(jù)庫產(chǎn)品,在多種信息管理系統(tǒng)中得到了應用。 windows平臺下的SQL server數(shù)據(jù)庫具有非常高性能的設計,也能夠很大程度上為系統(tǒng)管理者提供便捷和先進的處理方式,此外,SQL server數(shù)據(jù)庫具有強大的處理功能和兼容性,能夠有效保證數(shù)據(jù)的完整性和安全性,其強大的管理功能和數(shù)據(jù)處理功能也為信息管理系統(tǒng)提供一個數(shù)據(jù)庫平臺。

  對SQL server數(shù)據(jù)庫進行性能優(yōu)化,就是盡可能的提高數(shù)據(jù)庫的響應速度和服務質(zhì)量。總體來說,就是要有效提高系統(tǒng)響應時間和吞吐量兩項指標。要優(yōu)化數(shù)據(jù)庫性能,,需要從數(shù)據(jù)庫設計、應用程序設計和接口設計等多個方面進行,這是一個復雜的系統(tǒng)性工作。

  要對數(shù)據(jù)庫的性能進行優(yōu)化,其關鍵是要數(shù)據(jù)庫的設計方案要科學合理,科學合理的數(shù)據(jù)模型,不但能夠保障數(shù)據(jù)庫系統(tǒng)的正常運行,而且也能夠很大程度上降低代碼編寫和維護的難度,提高數(shù)據(jù)庫系統(tǒng)的實際運行性能。因此,在進行數(shù)據(jù)庫設計方案制定過程中,最為重要的是要充分了解用戶的需求,嚴格按照軟件工程的規(guī)范和流程來進行。

  在進行數(shù)據(jù)庫設計的時候,要從多個方面采取優(yōu)化策略,這些策略有機結合起來,從而設計出一個符合用戶要求的高性能的數(shù)據(jù)庫,具體來說,可以從以下幾個方面著手。


1 數(shù)據(jù)表設計的優(yōu)化策略

  數(shù)據(jù)表是數(shù)據(jù)庫中一個非常重要的對象,也是其他對象的基礎。一個數(shù)據(jù)庫只是一個框架,數(shù)據(jù)表才是實質(zhì)性內(nèi)容,數(shù)據(jù)庫中包含有多個數(shù)據(jù)表。在進行數(shù)據(jù)庫基本表設計的時候,要注意遵循兩個基本原則:一是標準化和規(guī)范化原則。數(shù)據(jù)庫基本表的設計標準有幾種,其中3NF標準是最為恰當和平衡的選擇,因為其對能夠有效提高數(shù)據(jù)庫性能,也方便之后對系統(tǒng)進行擴展,同時還能夠?qū)σ恍⿺?shù)據(jù)冗余進行消除;二是應用數(shù)據(jù)驅(qū)動。在設計數(shù)據(jù)庫基本表的時候,要使用數(shù)據(jù)驅(qū)動方式,因為數(shù)據(jù)驅(qū)動方式對于策略的變更和維護十分有利,從而有效提高系統(tǒng)的可擴展性,這是硬性編碼不能做到的。

  索引能夠很大程度上影響數(shù)據(jù)庫的整體性能,因此,在設計基本表的時候要設計和選擇合適的索引;同時,對于每一個索引,都要選擇恰當?shù)膬?yōu)化策略。

  聚簇索引又叫做簇索引,聚簇索引的頁面指針指向數(shù)據(jù)頁面,因此,每個基本表只能建立一個聚簇索引,而且聚簇索引的數(shù)據(jù)查找速度要快于非聚簇索引。聚簇索引是用來決定基本表中數(shù)據(jù)的物理順序的。在創(chuàng)建和選擇簇索引的時候,要基于幾個基本原則:必須要有包含這樣一種列,這種列中包含很多完全不同數(shù)據(jù);能夠返回大量結果的查詢;要使用“BETWEEN”及“<”、“>”、“<=”、“>=”、“==”、“。健钡汝P系運算符返回的查詢。

  非聚簇索引,又稱為非簇索引。非聚簇索引則與聚簇索引不同,其葉級頁指向表中的記錄,記錄的物理順序與邏輯順序沒有必然聯(lián)系。如果信息管理系統(tǒng)要進行數(shù)據(jù)搜索的時候需要通過多種途徑來進行的話,非簇索引就能夠發(fā)揮很大的作用了,其對于數(shù)據(jù)庫的性能有極大的提升。并不是所有情況下都需要創(chuàng)建非簇索引,非簇索引的創(chuàng)建可以在以下幾種情況下進行:一是不會返回大量結果的查詢;二是有這樣一種列,這種列會經(jīng)常被返回精確匹配結果的條件查詢所引用;三是包含大量完全不同數(shù)據(jù)的列,而且在某個列上已經(jīng)建立了簇索引。

  創(chuàng)建索引有正反兩方面的影響,正面的影響是能夠有效提高系統(tǒng)的性能,負面的影響是造成時間和空間方面的不良反應。因此,在進行索引的設計時,設計人員應該要從多個方面進行綜合考慮,達成一個良好的平衡。這也要求設計人員要杜絕創(chuàng)建無效索引,而且如果負面影響超過正面影響,那就應該要考慮使用臨時表等替代措施來優(yōu)化系統(tǒng)性能。


2 數(shù)據(jù)庫其他對象的存放策略

  數(shù)據(jù)庫中除了基本表之外,還存在很多的對象,這些對象的存儲問題也是影響系統(tǒng)性能的重要因素。對象的存儲和訪問是通過I/O設備來進行的,而且通常情況下,I/O設備是大型數(shù)據(jù)庫性能提升的一個瓶頸和短板,要有效提升系統(tǒng)的性能,就必須充分考慮這些對象的存儲。

  大型系統(tǒng)一般不會只有一個磁盤,而是多個磁盤并存,因此要避免I/O設備給系統(tǒng)帶來給帶來了瓶頸,就要采取必要的措施,對系統(tǒng)中的硬件設備進行充分的使用,可以采用并行的I/O機制,讓數(shù)據(jù)存放跨越多個設備,不同性質(zhì)訪問的數(shù)據(jù)要進行分別存放。

  在大型信息管理系統(tǒng)中,另一個影響系統(tǒng)性能的環(huán)節(jié)是事務日志。對于事務日志的存放,要將其放在單獨的磁盤中,不要與其他數(shù)據(jù)文件存儲在一起。因為這樣做一方面可以減少系統(tǒng)的開銷,另外一方面也有利于系統(tǒng)障礙恢復。

  對于訪問頻率高的數(shù)據(jù)和訪問頻率低的表進行分別存儲,分別存儲對于系統(tǒng)I/O性能的提升有著十分明顯的作用。


3 查詢分析設計的優(yōu)化策略

  數(shù)據(jù)庫應用在信息管理系統(tǒng)當中,系統(tǒng)對數(shù)據(jù)庫的使用主要是用于數(shù)據(jù)查詢操作。在進行系統(tǒng)設計的時候,應該與數(shù)據(jù)庫設計結合在一起,互相呼應,有機結合。在設計整個應用系統(tǒng)的時候,要對系統(tǒng)進行優(yōu)化,優(yōu)化的主要操作是對查詢語句進行優(yōu)化。查詢語句的優(yōu)化要堅持一個基本原則,就是對具體問題具體分析,切不可一刀切,同時要簡化邏輯讀和掃描次數(shù);另外,盡可能不用子查詢,而是應該使用連接。

  其一,科學合理的設計和使用查詢過程,盡可能的使用查詢過程,因為存儲過程的執(zhí)行效率要比SQL語句高。

  其二,要盡可能的避免使用大量排序操作,因此,要在必要時采用臨時表。

  其三,要對游標的使用加以限制,因為使用游標會影響系統(tǒng)性能。

  其四,在一般情況下,不要向客戶端返回大量數(shù)據(jù),因為這樣會增加網(wǎng)絡數(shù)據(jù)的傳輸量,增大系統(tǒng)負擔,從而影響系統(tǒng)性能。

  其五,對于批處理語句要充分使用,同時對于重復操作要多使用參數(shù)數(shù)組。


4 基本表擴展設計優(yōu)化策略

  基于3NF標準設計的基本表不但應用范圍廣,而且有著很強的優(yōu)越性。但是,在實際應用中,基于3NF標準設計的基本表卻存在一些影響系統(tǒng)性能的因素,這些因素這不利于優(yōu)化系統(tǒng),提升系統(tǒng)性能。具體而言,這些影響因素主要包括具體的應用,規(guī)模大的數(shù)據(jù)庫以及請求訪問的頻度等,如果不針對這些因素進行一定的處理,就會影響對系統(tǒng)的優(yōu)化,進而影響系統(tǒng)的性能。因此,在實際設計過程中,要根據(jù)這些因素來對部分基本表的行和列進行分割。同時要選擇恰當?shù)姆绞酱鎯θ哂鄶?shù)據(jù)和衍生列,對相關分割表進行合并處理等。這些策略和手段,確實是不符合3NF標準的,客觀上也增加了系統(tǒng)的開銷。但是,站在整個系統(tǒng)的角度,綜合來進行考慮的話,這些策略和手段有利于優(yōu)化整個系統(tǒng),提升系統(tǒng)的性能。


5 鎖的優(yōu)化策略

  在多用戶條件下,系統(tǒng)實現(xiàn)并行處理的一個非常重要的機制就是鎖,這一機制的存在,讓系統(tǒng)能夠保證數(shù)據(jù)的一致性和完整性。但是鎖的存在,卻也存在負面影響,最主要的是影響系統(tǒng)的性能,因此在進行數(shù)據(jù)庫系統(tǒng)設計和應用設計的過程中,有一項非常重要的工作就是減少和杜絕死鎖的產(chǎn)生。要減少和杜絕死鎖的產(chǎn)生,就必須要遵循幾個基本原則:第一,在實際設計過程中,應該要根據(jù)實際問題對長事務進行適當?shù)姆纸,減少排它鎖的占用時間;第二,要對批處理語句進行充分的使用,盡可能的減少在事務執(zhí)行過程中的交互,避免人為控制事務的長短。

  有些數(shù)據(jù)庫應用系統(tǒng)的訪問頻率高,而且并發(fā)度也很高,對于這樣的數(shù)據(jù)庫系統(tǒng),應該要使用一些對應的方法和手段來優(yōu)化整個系統(tǒng)。比如說,對于每個查詢使用超時機制,科學合理的使用行鎖、頁鎖和表鎖,使用帶約束的連接等,這些措施都能夠有效避免死鎖的產(chǎn)生。


6 結語



本文編號:14524

資料下載
論文發(fā)表

本文鏈接:http://www.sikaile.net/kejilunwen/jisuanjikexuelunwen/14524_1.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權申明:資料由用戶5cd4c***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com