freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

sqlserver數(shù)據(jù)庫性能優(yōu)化研究[畢業(yè)設(shè)計,畢業(yè)論文]-在線瀏覽

2024-09-16 05:46本頁面
  

【正文】 QL Server databases is put forward in the end. Finally, this paper summarizes and prospects the problems of performance tuningand optimization of SQL SERVER databases.Keywords:database;SQL SERVER;performance;optimization目錄1 緒 論 1 1 1 22 數(shù)據(jù)庫性能優(yōu)化架構(gòu) 3 3 3 3 4 4 5 5 5 53 性能優(yōu)化技術(shù)介紹 6 6 6 6 7 SQL查詢語句的優(yōu)化 9 9 114 商品訂單管理系統(tǒng)數(shù)據(jù)庫設(shè)計 165 優(yōu)化實例 18 18 18 20 20 20 SQL語句的優(yōu)化 216 總 結(jié) 24參考文獻(xiàn) 25致 謝 261 緒 論 數(shù)據(jù)庫技術(shù)是計算機科學(xué)技術(shù)發(fā)展最快、應(yīng)用最廣泛的領(lǐng)域之一,在信息管理自動化程度日益提高的今天,數(shù)據(jù)庫技術(shù)已經(jīng)成為現(xiàn)代計算機信息系統(tǒng)和應(yīng)用系統(tǒng)的基礎(chǔ)和核心。數(shù)據(jù)庫建設(shè)是現(xiàn)代信息產(chǎn)業(yè)的基本建設(shè)工程,一個國家擁有多少自己的數(shù)據(jù)庫,能用數(shù)據(jù)庫提供多少服務(wù),是各國經(jīng)濟實力、文明程度和科技水平的重要標(biāo)志。但從對數(shù)據(jù)庫系統(tǒng)的應(yīng)用效果和對數(shù)據(jù)庫技術(shù)指標(biāo)掌握上來比較,與發(fā)達(dá)國家之間仍然存在較大的差距。在網(wǎng)絡(luò)應(yīng)用和電子商務(wù)高速發(fā)展的時代,信息系統(tǒng)在國民經(jīng)濟建設(shè)中擔(dān)負(fù)著越來越重要的任務(wù),如何使有限的計算機系統(tǒng)資源充分發(fā)揮應(yīng)有的作用?如何保證用戶的響應(yīng)速度和服務(wù)質(zhì)量?如何保證未來的某個時間保持現(xiàn)有的運行性能?這些問題都屬于數(shù)據(jù)庫性能優(yōu)化的范疇。 SQL SERVER在數(shù)據(jù)庫領(lǐng)域一直占據(jù)著不小的份額。同時,SQL SERVER數(shù)據(jù)庫在國內(nèi)外也獲得了諸多成功應(yīng)用。SQL SERVER數(shù)據(jù)庫產(chǎn)品在整個數(shù)據(jù)庫產(chǎn)品的應(yīng)用中占據(jù)了不小的比例,并且有不斷上升的趨勢。對于SQL SERVER數(shù)據(jù)庫來說,操作系統(tǒng)的性能、服務(wù)器硬件的性能、數(shù)據(jù)庫的設(shè)計、表空間的規(guī)劃、聚簇的使用、并行控制等無一不影響其運行的整體性能。目前國內(nèi)外關(guān)于SQL SERVER數(shù)據(jù)庫系統(tǒng)的應(yīng)用實例優(yōu)化并不多,而且講解比較理論化。使得能有效的使用SQL SERVER數(shù)據(jù)庫產(chǎn)品,將它的性能調(diào)整到更適合自己的需要。本文對目前SQL SERVER數(shù)據(jù)庫性能調(diào)整的一些優(yōu)化技術(shù)的應(yīng)用實踐進(jìn)行了討論,具有一定的理論研究價值和現(xiàn)實意義。第二章介紹了數(shù)據(jù)庫性能調(diào)整與優(yōu)化的主要目標(biāo),分析了系統(tǒng)性能評價指標(biāo)和數(shù)據(jù)庫性能優(yōu)化的主要方面。第四章詳細(xì)介紹了SQL SERVER數(shù)據(jù)庫性能調(diào)整與優(yōu)化的相關(guān)技術(shù),包括數(shù)據(jù)庫邏輯結(jié)構(gòu)和物理結(jié)構(gòu)的優(yōu)化、SQL語句優(yōu)化、合適索引的創(chuàng)建、SQL SERVER分區(qū)技術(shù)等等。第六章總結(jié)全文,肯定了數(shù)據(jù)庫性能調(diào)整的應(yīng)用價值。性能調(diào)整包括對硬件配置操作系統(tǒng)(OS)與關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)配置,以及對訪問這些組件的應(yīng)用的詳細(xì)分析與優(yōu)化。性能會隨特定環(huán)境的不同而變化,并受應(yīng)用程序、體系結(jié)構(gòu)和資源、服務(wù)器以及并發(fā)活動的具體情況影響。瓶頸(bottle neck)是性能限制的重要因素,它可以是硬件或軟件,如果不是在正確配置和調(diào)整的系統(tǒng)中,就會嚴(yán)重地影響系統(tǒng)性能。為有效地對系統(tǒng)進(jìn)行調(diào)整,必須遵循一套特定的步驟或方法,去調(diào)整和優(yōu)化系統(tǒng)中的所有組件,包括應(yīng)用、硬件與SQL SERVER。在本章后面部分,著重介紹性能調(diào)整的方法論。數(shù)據(jù)庫應(yīng)用系統(tǒng)可以用各種定量的方法分析,其中最重要指標(biāo)如下:吞吐量是指給定時間內(nèi)服務(wù)器能夠處理的查詢總數(shù),即每個單元時間完成的工作,以每秒鐘的事務(wù)量(tps)表示;該值越高越好。要做到這一點,可以將用戶等待的資源加倍,如系統(tǒng)受到CPU限制,則可以增加CPU的數(shù)量。如果反應(yīng)時間長(壞),吞吐量或許高(好)。多數(shù)的并發(fā)用戶在一定時間內(nèi)使用一個系統(tǒng),每個用戶很有可能比平時要經(jīng)歷更長的延遲,但是通過系統(tǒng)的事務(wù)數(shù)量將會更大?,F(xiàn)在考慮一個為客戶預(yù)定體育比賽門票的公司。吞吐量=(25000筆事務(wù)/8小時)=3125筆事務(wù)/小時。在設(shè)計系統(tǒng)軟硬件規(guī)模和規(guī)劃系統(tǒng)能力時,我們是根據(jù)系統(tǒng)最忙碌的時間段來計算系統(tǒng)所要達(dá)到的吞吐量的。系統(tǒng)響應(yīng)時間是指從用戶按下最后一個提交按鈕到所有數(shù)據(jù)都顯示在顯示設(shè)備上所花費的時間。系統(tǒng)響應(yīng)時間的實質(zhì)就是終端用戶為等待后臺事務(wù)處理所花費時間。數(shù)據(jù)庫用戶響應(yīng)時間又可以分為系統(tǒng)服務(wù)時間和用戶等待時間兩項,即:數(shù)據(jù)庫用戶響應(yīng)時間=系統(tǒng)服務(wù)時間+用戶等待時間。l 減少用戶等待時間,即減少用戶訪問同一數(shù)據(jù)庫資源的沖突率。在這種環(huán)境中,漫長的系統(tǒng)響應(yīng)時間常常意味著客戶只能在線等待,這將阻礙其他用戶使用系統(tǒng)。對于那些對響應(yīng)時間有嚴(yán)格要求的系統(tǒng),必須采取不同的方法對系統(tǒng)進(jìn)行調(diào)整。不少人認(rèn)為數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能調(diào)整是在系統(tǒng)運行出現(xiàn)問題時才進(jìn)行的,其實,這種看法是片面的。在計劃階段就仔細(xì)地考慮性能調(diào)整工作,這會大大減輕系統(tǒng)運行后的性能調(diào)整工作。下面以優(yōu)先順序給出性能調(diào)整的步驟:為了得到最佳的性能,在數(shù)據(jù)庫設(shè)計過程中要采用業(yè)務(wù)邏輯。像是否在系統(tǒng)范圍內(nèi)采用線程服務(wù)器這樣的配置問題就是這一階段需要考慮的問題。在數(shù)據(jù)設(shè)計階段,設(shè)計人員必須決定哪些數(shù)據(jù)是應(yīng)用所需的,同時還要考慮哪些關(guān)系是重要的,以及它們的屬性是什么,還要確定哪些屬性可以作為主鍵(Primary Key)或外鍵(Foreign Key)。這一階段需要對數(shù)據(jù)進(jìn)行仔細(xì)分析,避免數(shù)據(jù)冗余,同時要考慮合理分布數(shù)據(jù),以防止數(shù)據(jù)存取的擁擠,如是否使用數(shù)據(jù)庫的分區(qū)功能,以及對于經(jīng)常訪問的數(shù)據(jù)庫表是否需要建立局部還是全局索引等。這一階段主要是在優(yōu)化數(shù)據(jù)庫服務(wù)器之前,首先確保在應(yīng)用中已充分利用了為了提高性能而設(shè)計的SQL以及其中的一些特殊功能。應(yīng)用程序的執(zhí)行最終將歸結(jié)為數(shù)據(jù)庫中的SQL語句執(zhí)行,因此SQL語句的執(zhí)行效率最終決定了數(shù)據(jù)庫的性能。在設(shè)計階段進(jìn)行數(shù)據(jù)庫性能優(yōu)化的成本最低,收益最大。要在SQL Server方案中實現(xiàn)最優(yōu)的性能,最關(guān)鍵的是要有一很好的數(shù)據(jù)庫設(shè)計方案。所以,要實現(xiàn)良好的數(shù)據(jù)庫設(shè)計就必須考慮這些問題。所以邏輯數(shù)據(jù)庫設(shè)計至少應(yīng)滿足規(guī)范化的前3級標(biāo)準(zhǔn):第1規(guī)范:沒有重復(fù)的元組或多值的列。第3規(guī)范:每個非關(guān)鍵字段必須依賴于主關(guān)鍵字,不能依賴于1個組合式主關(guān)鍵字的某些組成部分,也不能依賴于另1個非關(guān)鍵字段。但表關(guān)系也許需要通過復(fù)雜的合并來處理,這樣會降低系統(tǒng)的性能。數(shù)據(jù)文件和日志文件的位置和分布對系統(tǒng)的性能非常重要。,特別是對于被索引的列更是如此。 Server分區(qū)技術(shù)把一個頻繁使用的大表分割開,并放在多個單獨的智能型磁盤控制器的數(shù)據(jù)庫設(shè)備上,這樣也可以提高性能。 Server段把文本或圖像列的數(shù)據(jù)存放在1個單獨的物理設(shè)備上可以提高性能。 超大型數(shù)據(jù)庫的大小常常達(dá)到數(shù)百GB,有時甚至要用TB來計算。這不但影響著數(shù)據(jù)庫的運行效率,也增大數(shù)據(jù)庫的維護(hù)難度。這些問題都可以通過對大表進(jìn)行合理分區(qū)得到很大的改善。如果系統(tǒng)有多個CPU或是多個磁盤子系統(tǒng),可以通過并行操作獲得更好的性能。下面通過一個具體實例,介紹如何創(chuàng)建和修改分區(qū)表,以及如何查看分區(qū)表。水平分區(qū)將表分為多個表。例如,可以將一個包含十億行的表水平分區(qū)成12個表,每個小表表示特定年份內(nèi)一個月的數(shù)據(jù)。而垂直分區(qū)則是將原始表分成多個只包含較少列的表。 平分區(qū)常用的方法是根據(jù)時期和使用對數(shù)據(jù)進(jìn)行水平分區(qū)。在這種情況下,可考慮將數(shù)據(jù)分成四個區(qū),每個區(qū)只包含一個季度的數(shù)據(jù)。 立分區(qū)表先要創(chuàng)建文件組,而創(chuàng)建多個文件組主要是為了獲得好的I/O平衡。每個文件組可以由一個或多個文件構(gòu)成,而每個分區(qū)必須映射到一個文件組。為了更好地管理數(shù)據(jù)(例如,為了獲得更精確的備份控制),對分區(qū)表應(yīng)進(jìn)行設(shè)計,以便只有相關(guān)數(shù)據(jù)或邏輯分組的數(shù)據(jù)位于同一個文件組中。創(chuàng)建文件組后,再使用ALTER DATABASE將文件添加到該文件組中。FG139。C:\DeanData\39。 創(chuàng)建分區(qū)表必須先確定分區(qū)的功能機制,表進(jìn)行分區(qū)的標(biāo)準(zhǔn)是通過分區(qū)函數(shù)來決定的。代表每個邊界值在局部的哪一邊。代碼如下: CREATE PARTITION FUNCTION[SendSMSPF](datetime)AS RANGE RIGHT FOR VALUES(39。39。39。) 創(chuàng)建分區(qū)函數(shù)后,必須將其與分區(qū)方案相關(guān)聯(lián),以便將分區(qū)指向至特定的文件組。多個數(shù)據(jù)表可以共用相同的數(shù)據(jù)分區(qū)函數(shù),一般不共用相同的數(shù)據(jù)分區(qū)方案。創(chuàng)建分區(qū)方案的代碼如下: CREATE PARTITION SCHEME[SendSMSPS] AS PARTITION[SendSMSPF] TO ([FG1],[FG2],[FG3],[FG4]) 建立好分區(qū)函數(shù)和分區(qū)方案后,就可以創(chuàng)建分區(qū)表了。插入記錄時,SQL SERVER會根據(jù)分區(qū)鍵值的不同,通過分區(qū)函數(shù)的定義將數(shù)據(jù)放到相應(yīng)的分區(qū)。創(chuàng)建分區(qū)表的代碼如下: CREATE TABLE SendSMSLog([ID][int]IDENTITY(1,1)NOT NULL,[IDNum][nvarchar](50)NULL,[SendContent][text]NULL[SendDate][datetime]NOTNULL,)ON SendSMSPS(SendDate) 系統(tǒng)運行一段時間或者把以前的數(shù)據(jù)導(dǎo)入分區(qū)表后,我們需要查看數(shù)據(jù)的具體存儲情況,即每個分區(qū)存取的記錄數(shù),那些記錄存取在那個分區(qū)等??梢酝ㄟ^ALTER PARTITION FUNCTION的選項SPLIT,MERGE和ALTER TABLE的選項SWITCH來實現(xiàn)。 SQL查詢語句的優(yōu)化 數(shù)據(jù)庫的優(yōu)化通??梢酝ㄟ^對網(wǎng)絡(luò)、硬件、操作系統(tǒng)、數(shù)據(jù)庫參數(shù)和應(yīng)用程序的優(yōu)化來進(jìn)行。根據(jù)統(tǒng)計,對網(wǎng)絡(luò)、硬件、操作系統(tǒng)、數(shù)據(jù)庫參數(shù)進(jìn)行優(yōu)化所獲得的性能提升,全部加起來只占數(shù)據(jù)庫系統(tǒng)性能提升的40%左右,其余的60%系統(tǒng)性能提升來自對應(yīng)用程序的優(yōu)化。應(yīng)用程序的優(yōu)化通??煞譃閮蓚€方面:源代碼和SQL語句。所以SQL語句的優(yōu)化對數(shù)據(jù)庫系統(tǒng)的性能起著決定性的作用。程序員可以通過查看查詢計劃來比較各種實現(xiàn)方案,并選出最優(yōu)的實現(xiàn)方案。 在關(guān)系數(shù)據(jù)庫中,一個行的物理位置無關(guān)緊要,除非數(shù)據(jù)庫需要找到它。表中的每一行均用一個ROWID來標(biāo)識,ROWID告訴數(shù)據(jù)庫這一行的準(zhǔn)確位置(指出行所在的文件、該文件中的塊、該塊中的行地址)??梢运饕粋€列或一組列,SQL SERVER用B樹結(jié)構(gòu)存儲索引條目,以保證用最短路徑訪問鍵值,當(dāng)一個查詢訪問索引時,就能找到與查詢條件相匹配的索引條目。 從大多數(shù)系統(tǒng)應(yīng)用實例來看,查詢操作在各種數(shù)據(jù)庫的操作中,所占的比重最大。實踐證明在數(shù)據(jù)庫編程中,合理使用索引文件,對于改善數(shù)據(jù)查詢速度有著舉足輕重的作用,可以極大改善數(shù)據(jù)庫應(yīng)用程序的性能。 ,一般使用的原則為: (1)為主鍵所在的列創(chuàng)建索引。 (2)在頻繁進(jìn)行排序或分組(即使用GROUP BY或ORDER BY操作)的字段上建立索引。不要在在查詢很少引用的列上創(chuàng)建索引。要盡量使關(guān)鍵查詢形成索引覆蓋,其前導(dǎo)字段一定是使用最頻繁的字段。 (6)在聚集索引中,避免包括不必要的列,盡可能使用較小的數(shù)據(jù)類型,例如用VARCHAR代替CHAR。為了聚集鍵選擇列或列組,其中聚集鍵根據(jù)需要經(jīng)常排序的排序數(shù)據(jù)或?qū)Ρ仨氁黄鹪L問的記
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1