【正文】
化技術(shù)介紹一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的生命周期可以分成:設(shè)計(jì)、開(kāi)發(fā)和成品三個(gè)階段。如在SQL Server數(shù)據(jù)庫(kù)中的數(shù)組的處理、SQL優(yōu)化器、行級(jí)鎖管理以及SQL Server查詢分析器等。這一階段就是通過(guò)增加、減少或調(diào)整邏輯結(jié)構(gòu),如考慮在主鍵和外鍵上建立索引之外增加其它索引以提高系統(tǒng)性能。最后,要構(gòu)造好信息來(lái)更好地滿足性能目標(biāo)。這樣設(shè)計(jì)者將性能要求同具體的業(yè)務(wù)需求直接聯(lián)系起來(lái)。這就關(guān)系到對(duì)整個(gè)系統(tǒng)的高層分析和設(shè)計(jì)。在數(shù)據(jù)庫(kù)的性能調(diào)整過(guò)程中需要應(yīng)用程序設(shè)計(jì)人員、應(yīng)用程序開(kāi)發(fā)人員、數(shù)據(jù)庫(kù)管理員以及系統(tǒng)管理員共同完成。性能調(diào)整和優(yōu)化工作是在進(jìn)行系統(tǒng)計(jì)劃和設(shè)計(jì)階段就已經(jīng)開(kāi)始了,并且一直貫穿系統(tǒng)的運(yùn)行周期。為了縮短系統(tǒng)響應(yīng)時(shí)間,可以使系統(tǒng)以遠(yuǎn)低于其實(shí)際吞吐能力的吞吐量運(yùn)行或是將批理作業(yè)放在非營(yíng)業(yè)時(shí)間內(nèi)處理。這種情況往往意味著失掉商機(jī),所以縮短系統(tǒng)響應(yīng)時(shí)間是非常重要的。盡管某些數(shù)據(jù)庫(kù)系統(tǒng)需要實(shí)現(xiàn)系統(tǒng)可能達(dá)到的最高吞吐量,但另一些系統(tǒng)可能有嚴(yán)格的系統(tǒng)響應(yīng)時(shí)間要求。因此,獲得滿意的用戶響應(yīng)時(shí)間有兩個(gè)途徑:l 減少系統(tǒng)服務(wù)時(shí)間,即提高數(shù)據(jù)庫(kù)的吞吐量。響應(yīng)時(shí)間通常也稱為用戶收到查詢正被處理的直觀確認(rèn)時(shí)刻所感知的時(shí)間長(zhǎng)度。以毫秒或秒表示,該值越低越好。這是設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)的一條著名規(guī)律:為最糟糕的情況設(shè)計(jì)系統(tǒng)的軟硬件規(guī)模。當(dāng)然,以8小時(shí)的時(shí)間間隔來(lái)計(jì)算系統(tǒng)需要達(dá)到的吞吐量是不現(xiàn)實(shí)的,因?yàn)椴⒉皇撬行枨蠖际莿蛩俚竭_(dá)系統(tǒng)。如果該公司的營(yíng)業(yè)時(shí)間為每天8小時(shí),并且在銷(xiāo)售市場(chǎng)體育比賽門(mén)票的第一天必須賣(mài)出25000張門(mén)票,那么該公司的門(mén)票預(yù)定系統(tǒng)的吞吐量必須等于或大于每小時(shí)3125筆事務(wù)。相反,假如減少在某一個(gè)時(shí)間窗口中訪問(wèn)系統(tǒng)的并發(fā)用戶數(shù)量,以在該時(shí)間內(nèi)完成的全部事務(wù)量減少為代價(jià),每個(gè)用戶將會(huì)享受到更快的反應(yīng)時(shí)間。如果吞吐量低(壞),反應(yīng)時(shí)間或許短(好)。在任何一個(gè)系統(tǒng)中,吞吐量和反應(yīng)時(shí)間作為調(diào)整目標(biāo)通常是互相對(duì)立的。提高系統(tǒng)的吞吐量也有兩種方法:l 在同樣的資源環(huán)境下做更多的工作(通過(guò)減少服務(wù)時(shí)間);l 通過(guò)減少總的響應(yīng)時(shí)間使工作做得更快。有不同的方式確定性能調(diào)整工作的目標(biāo)。首先,討論將涉及系統(tǒng)調(diào)整的不同組件。減少瓶頸可以最大地發(fā)揮一個(gè)系統(tǒng)的性能。性能調(diào)整的一個(gè)主要目標(biāo)是消除瓶頸。系統(tǒng)性能的判定標(biāo)準(zhǔn)依賴于性能衡量的研究,通常認(rèn)為性能的指標(biāo)可以通過(guò)處理一個(gè)事務(wù)所需的I/O量、CPU時(shí)間量、以及響應(yīng)時(shí)間來(lái)衡量。2 數(shù)據(jù)庫(kù)性能優(yōu)化架構(gòu)性能調(diào)整(performance tuning)是一項(xiàng)活動(dòng),這項(xiàng)活動(dòng)通過(guò)優(yōu)化應(yīng)用程序、修改系統(tǒng)參數(shù)、改變系統(tǒng)配置(硬件調(diào)整)來(lái)改變系統(tǒng)性能。第五章開(kāi)發(fā)了一個(gè)商品訂單管理系統(tǒng)作為測(cè)試用例,對(duì)如何優(yōu)化數(shù)據(jù)庫(kù)的性能進(jìn)行具體的測(cè)試和分析。第三章對(duì)性能優(yōu)化技術(shù)介紹。各章節(jié)安排如下:第一章綜述了數(shù)據(jù)庫(kù)性能調(diào)整的研究現(xiàn)狀和發(fā)展概況,闡述了論文研究的意義與目的。數(shù)據(jù)庫(kù)性能問(wèn)題是當(dāng)今諸如管理信息系統(tǒng)等眾多數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)所面臨的共同問(wèn)題,為了解決系統(tǒng)運(yùn)行過(guò)程中遇到的種種瓶頸,對(duì)數(shù)據(jù)庫(kù)性能調(diào)整理論和應(yīng)用的研究是迫切需要的。因此,本文根據(jù)自己平時(shí)的實(shí)際工作所遇到的一些問(wèn)題和自己對(duì)SQL SERVER數(shù)據(jù)庫(kù)的使用經(jīng)驗(yàn),主要從數(shù)據(jù)庫(kù)設(shè)計(jì)優(yōu)化、索引添加、查詢優(yōu)化這三個(gè)方面進(jìn)行實(shí)驗(yàn)測(cè)試,通過(guò)對(duì)各種優(yōu)化技術(shù)的介紹、分析和研究,對(duì)使用不同優(yōu)化技術(shù)前后的性能評(píng)價(jià)指標(biāo)進(jìn)行比較,體現(xiàn)各種優(yōu)化技術(shù)對(duì)數(shù)據(jù)庫(kù)運(yùn)行效率的影響程度,提出SQL SERVER數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)性能優(yōu)化的合理方法。SQL SERVER數(shù)據(jù)庫(kù)服務(wù)器是高度可優(yōu)化的軟件產(chǎn)品,對(duì)SQL SERVER數(shù)據(jù)庫(kù)進(jìn)行性能調(diào)整與優(yōu)化具有非常重要的意義。 SQL SERVER數(shù)據(jù)庫(kù)系統(tǒng)博大精深,其系統(tǒng)管理工作非常復(fù)雜。企業(yè)資源規(guī)劃應(yīng)用程序包、數(shù)據(jù)倉(cāng)庫(kù)以及許多公司的客戶應(yīng)用系統(tǒng)都要依賴SQL SERVER。SQL SERVER現(xiàn)在可用于大型機(jī)、客戶/服務(wù)器以及PC平臺(tái),適合于各種操作系統(tǒng),包括Microsotf Windows和Windows NT、0S/390(MVS)、各種UNIX操作系統(tǒng)、LINUX等。隨著數(shù)據(jù)庫(kù)規(guī)模的不斷擴(kuò)大,數(shù)據(jù)庫(kù)系統(tǒng)的性能問(wèn)題也越來(lái)越突出,數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)能否正常、高效地運(yùn)行倍受關(guān)注,數(shù)據(jù)庫(kù)優(yōu)化技術(shù)方法的探索具有非常重要的意義。 數(shù)據(jù)庫(kù)技術(shù)應(yīng)用從傳統(tǒng)的商務(wù)數(shù)據(jù)處理不斷擴(kuò)大到許多新的領(lǐng)域,如計(jì)算機(jī)圖像處理、多媒體應(yīng)用、商業(yè)管理、GIS等,要使這些領(lǐng)域中應(yīng)用的信息系統(tǒng)高效、正常、安全地運(yùn)行,其中最為顯著的就是數(shù)據(jù)庫(kù)的性能問(wèn)題。我國(guó)引進(jìn)數(shù)據(jù)庫(kù)技術(shù)始于20世紀(jì)70年代末,自進(jìn)入20世紀(jì)80年代以來(lái),我國(guó)數(shù)據(jù)庫(kù)建設(shè)有了較大發(fā)展,從微型計(jì)算機(jī)上運(yùn)行的數(shù)據(jù)庫(kù)到當(dāng)前大型數(shù)據(jù)庫(kù)系統(tǒng)的引入和應(yīng)用。數(shù)據(jù)庫(kù)技術(shù)最初產(chǎn)生于20世紀(jì)60年代中期,從最初的層次模型、網(wǎng)狀模型,到目前的關(guān)系模型、面向?qū)ο竽P?,己?jīng)過(guò)40年左右的發(fā)展。最后,對(duì)SQL SERVER數(shù)據(jù)庫(kù)性能調(diào)整與優(yōu)化問(wèn)題進(jìn)行了總結(jié)。總結(jié)歸納了數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)和物理結(jié)構(gòu)的優(yōu)化、SQL語(yǔ)句優(yōu)化的實(shí)質(zhì)與目的、方法與技巧,索引創(chuàng)建的相關(guān)規(guī)則,SQL SERVER分區(qū)技術(shù)等。首先,介紹了數(shù)據(jù)庫(kù)性能調(diào)整的相關(guān)研究背景、論文選題意義以及數(shù)據(jù)庫(kù)性能調(diào)整與優(yōu)化架構(gòu),涉及性能調(diào)整與優(yōu)化的概念、性能評(píng)價(jià)指標(biāo)以及數(shù)據(jù)庫(kù)優(yōu)化的主要方面。同時(shí)也對(duì)理論研究提供了一定的方法指導(dǎo)。因此,基于數(shù)據(jù)庫(kù)系統(tǒng)的性能調(diào)整與優(yōu)化對(duì)于整個(gè)系統(tǒng)的正常運(yùn)行起著至關(guān)重要的作用。SQL SERVER數(shù)據(jù)庫(kù)性能優(yōu)化研究Researching Of The SQL SERVER Database Performance Optimization摘 要數(shù)據(jù)庫(kù)系統(tǒng)的性能最終決定數(shù)據(jù)庫(kù)的可用性和生命力。大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)在運(yùn)行一段時(shí)間后都會(huì)存在一定的性能問(wèn)題,主要涉及數(shù)據(jù)庫(kù)硬件、數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)內(nèi)存、應(yīng)用程序、操作系統(tǒng)、數(shù)據(jù)庫(kù)參數(shù)等方面。數(shù)據(jù)庫(kù)性能調(diào)整與優(yōu)化涉及到多個(gè)層面,通過(guò)統(tǒng)一規(guī)劃、系統(tǒng)分析做出相應(yīng)的調(diào)整,可以提高數(shù)據(jù)庫(kù)的穩(wěn)定性和可用性,保障系統(tǒng)高效地運(yùn)行,解決系統(tǒng)瓶頸,節(jié)約系統(tǒng)開(kāi)銷(xiāo),具有良好的應(yīng)用價(jià)值。基于此,論文根據(jù)本人在實(shí)際工作中遇到的問(wèn)題和平時(shí)對(duì)數(shù)據(jù)庫(kù)的使用經(jīng)驗(yàn),將數(shù)據(jù)庫(kù)設(shè)計(jì)、合理的索引添加以及SQL語(yǔ)句優(yōu)化等方面的性能調(diào)整與優(yōu)化問(wèn)題作為主要研究?jī)?nèi)容,對(duì)其進(jìn)行了深入地分析和討論,給出了一般情況下SQL SERVER數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能調(diào)整策略及優(yōu)化方法。其次,對(duì)常用的幾種優(yōu)化技術(shù)進(jìn)行了詳細(xì)地介紹與說(shuō)明。最后提出一個(gè)針對(duì)SQL SERVER數(shù)據(jù)庫(kù)的系統(tǒng)性能總體調(diào)整策略。關(guān)鍵詞:數(shù)據(jù)庫(kù);SQL SERVER;性能優(yōu)化Abstract The performance of database systems eventually determines their availability and survivability. Most of them will bring about some performance problems more or less after running for a period of time, which mainly involve database hardware, database server, database memory, applications, operating systems and database parameters, etc. Therefore, performance tuning and optimization of database systems, which concern multiple aspects, are very vital to the normal running of the whole system. Through a unified plan and systematical analysis to make appropriate adjustment, the stability and availability of database will be improved, high running efficiency will be guaranteed, system bottleneck will be solved, system overhead will be reduced, considerable applicability and in the meanwhile will be obtained, and some guidelines for theoretical research will be provided. Based on the abovementioned idea, by problems meeting in working experience of using SQL database, the paper principally pays attention to the research on the performance tuning and optimization of SQL statements, and makes a deep analysis and discussion. It suggests in general some performance tuning strategies and optimization approaches of SQL Server application systems to drive the development of SQL Server performance management and optimization technology. Firstly, the paper introduces the corresponding research background of performance tuning of database, significance of selected topic and framework of performance tuning and optimization of database including their concepts, performance evaluation index and primary aspects of optimization. Secondly, several mon optimization techniques are introduced and explained in detail. This paper summarizes optimization of database logical structure and physical structures, methods and techniques of SQL optimization, relevant rules of index creation, and intelligent use of SQL Server partitioning techniques. The foreandaft performance indexes of various optimization techniques are analyzed and pared. An overall tuning strategy of system performance for S