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

正文內(nèi)容

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

2025-09-17 05:46上一頁面

下一頁面
  

【正文】 只有深入領(lǐng)會和掌握SQL SERVER數(shù)據(jù)庫系統(tǒng)所提供的強(qiáng)大功能,正確觀察和分析系統(tǒng)運(yùn)行中提供的各種信息,充分結(jié)合實(shí)際應(yīng)用特點(diǎn),才能合理制定出良好的優(yōu)化策略,實(shí)現(xiàn)快速、高效的數(shù)據(jù)查詢和應(yīng)用分析。and ordernumber between 20 and 200 order by ,執(zhí)行計劃如圖56。200513139。而且在OLTP系統(tǒng)中,每張表超過5個索引就會降低系統(tǒng)性能。20051139。而垂直分區(qū)則是將原始表分成多個只包含較少列的表。商品編號既是其主鍵也是其外鍵。 (5)避免UPDATE建有很多索引的列。or division=39。 ,在某種情況下,兩個表之間可能不只一個的連接條件,這時在WHERE子句中將連接條件完整的寫上,有可能大大提高查詢速度。 ,一部分開發(fā)人員和數(shù)據(jù)庫管理人員喜歡把包含數(shù)值信息的字段設(shè)計為字符型,這會降低查詢和連接的性能,并會增加存儲開銷。 3在數(shù)據(jù)庫中放置索引 用戶可以指定一個表的索引放置的位置。為了聚集鍵選擇列或列組,其中聚集鍵根據(jù)需要經(jīng)常排序的排序數(shù)據(jù)或?qū)Ρ仨氁黄鹪L問的記錄進(jìn)行分組??梢运饕粋€列或一組列,SQL SERVER用B樹結(jié)構(gòu)存儲索引條目,以保證用最短路徑訪問鍵值,當(dāng)一個查詢訪問索引時,就能找到與查詢條件相匹配的索引條目??梢酝ㄟ^ALTER PARTITION FUNCTION的選項SPLIT,MERGE和ALTER TABLE的選項SWITCH來實(shí)現(xiàn)。代碼如下: CREATE PARTITION FUNCTION[SendSMSPF](datetime)AS RANGE RIGHT FOR VALUES(39。 立分區(qū)表先要創(chuàng)建文件組,而創(chuàng)建多個文件組主要是為了獲得好的I/O平衡。這些問題都可以通過對大表進(jìn)行合理分區(qū)得到很大的改善。第3規(guī)范:每個非關(guān)鍵字段必須依賴于主關(guān)鍵字,不能依賴于1個組合式主關(guān)鍵字的某些組成部分,也不能依賴于另1個非關(guān)鍵字段。在數(shù)據(jù)設(shè)計階段,設(shè)計人員必須決定哪些數(shù)據(jù)是應(yīng)用所需的,同時還要考慮哪些關(guān)系是重要的,以及它們的屬性是什么,還要確定哪些屬性可以作為主鍵(Primary Key)或外鍵(Foreign Key)。數(shù)據(jù)庫用戶響應(yīng)時間又可以分為系統(tǒng)服務(wù)時間和用戶等待時間兩項,即:數(shù)據(jù)庫用戶響應(yīng)時間=系統(tǒng)服務(wù)時間+用戶等待時間。要做到這一點(diǎn),可以將用戶等待的資源加倍,如系統(tǒng)受到CPU限制,則可以增加CPU的數(shù)量。第四章詳細(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ù)等等。 SQL SERVER在數(shù)據(jù)庫領(lǐng)域一直占據(jù)著不小的份額。數(shù)據(jù)庫性能調(diào)整與優(yōu)化涉及到多個層面,通過統(tǒng)一規(guī)劃、系統(tǒng)分析做出相應(yīng)的調(diào)整,可以提高數(shù)據(jù)庫的穩(wěn)定性和可用性,保障系統(tǒng)高效地運(yùn)行,解決系統(tǒng)瓶頸,節(jié)約系統(tǒng)開銷,具有良好的應(yīng)用價值。數(shù)據(jù)庫技術(shù)最初產(chǎn)生于20世紀(jì)60年代中期,從最初的層次模型、網(wǎng)狀模型,到目前的關(guān)系模型、面向?qū)ο竽P?,己?jīng)過40年左右的發(fā)展。因此,本文根據(jù)自己平時的實(shí)際工作所遇到的一些問題和自己對SQL SERVER數(shù)據(jù)庫的使用經(jīng)驗,主要從數(shù)據(jù)庫設(shè)計優(yōu)化、索引添加、查詢優(yōu)化這三個方面進(jìn)行實(shí)驗測試,通過對各種優(yōu)化技術(shù)的介紹、分析和研究,對使用不同優(yōu)化技術(shù)前后的性能評價指標(biāo)進(jìn)行比較,體現(xiàn)各種優(yōu)化技術(shù)對數(shù)據(jù)庫運(yùn)行效率的影響程度,提出SQL SERVER數(shù)據(jù)庫應(yīng)用系統(tǒng)性能優(yōu)化的合理方法。減少瓶頸可以最大地發(fā)揮一個系統(tǒng)的性能。當(dāng)然,以8小時的時間間隔來計算系統(tǒng)需要達(dá)到的吞吐量是不現(xiàn)實(shí)的,因為并不是所有需求都是勻速到達(dá)系統(tǒng)。性能調(diào)整和優(yōu)化工作是在進(jìn)行系統(tǒng)計劃和設(shè)計階段就已經(jīng)開始了,并且一直貫穿系統(tǒng)的運(yùn)行周期。在成品階段進(jìn)行數(shù)據(jù)庫性能優(yōu)化的成本最高,收益最小。因為有多個磁頭在查找,所以數(shù)據(jù)分離也能提高性能,SQL SERVER的分區(qū)技術(shù)將在下面講到。任何需要特定月份數(shù)據(jù)的查詢只需引用相應(yīng)月份的表。FILENAME=39??梢酝ㄟ^不同的分區(qū)方案,使用相同的分區(qū)函數(shù),使不同的數(shù)據(jù)表有相同的分區(qū)條件,但存放在不同的媒介上。 SQL語言是一種靈活的語言,相同的功能可以使用不同的語句來實(shí)現(xiàn),但是語句的執(zhí)行效率是很不相同的。 (3)在條件表達(dá)式中經(jīng)常用到的不同值較多的字段上建立索引,在不同值較少的字段上不要建立索引,如性別字段就不需要建立索引。在很多情況下,你應(yīng)該選擇使用事件跟蹤,因為它反應(yīng)了真實(shí)的數(shù)據(jù)庫行為。我們應(yīng)當(dāng)在編程時將整型轉(zhuǎn)化成為貨幣型,而不要等到運(yùn)行時轉(zhuǎn)化。)0 可以寫成:IF EXISTS(SELECT*FROM table_name WHERE column_name=39。它有助于避免多重排序操作,而且在其他方面還能簡化優(yōu)化器的工作。 INTO語句。 客戶基本信息表:存放所有訂購過或訂購了相關(guān)商品的客戶信息。這些問題都可以通過對大表進(jìn)行合理分區(qū)得到很大的改善。將全部表存儲在同一個磁盤上,所有表均沒有設(shè)置主鍵,并且不使用任何優(yōu)化技術(shù)。在該查詢中,由于各子查詢返回的記錄比較大,因此對這些結(jié)果集以及臨時數(shù)據(jù)段進(jìn)行排序會增加大量的系統(tǒng)開銷。下面的第一個SQL語句和第二個SQL語句都是用于查詢2005年1月訂購了江中制藥生產(chǎn)的A類產(chǎn)品的、訂購數(shù)量在20到200件之間的客戶的相關(guān)信息,兩條查詢語句的結(jié)果集相同,但是第一個SQL語句使用子查詢完成,第二個SQL語句使用聯(lián)接查詢完成。江中制藥39??偨Y(jié)如下: 。l。因此,對 SQL SERVER數(shù)據(jù)庫系統(tǒng)的性能問題進(jìn)行深入研究,提出針對SQL SERVER數(shù)據(jù)庫性能調(diào)整與優(yōu)化的具體方法和措施,對于保證數(shù)據(jù)庫穩(wěn)定高效運(yùn)行具有關(guān)鍵作用,很好的理論與應(yīng)用價值。會員39。圖53 SQL語句的執(zhí)行計劃 根據(jù)第四章所介紹的SQL語句優(yōu)化技術(shù)將“SELECT * FROM orderinfo WHERE ordernumber/2=100”改為“SELECT * FROM orderinfo WHEREordernumber=100*2”,執(zhí)行計劃如圖54。))))) Order by cid ,其執(zhí)行計劃如圖51。因為實(shí)驗條件不具備的原因,在這里無法對該優(yōu)化的方法給出一個具體的實(shí)驗數(shù)據(jù)。如果在實(shí)際情況中每天商品的交易量很大,那么該數(shù)據(jù)庫的數(shù)據(jù)就有可以增長到幾個G,這不但影響著數(shù)據(jù)庫的運(yùn)行效率,也增大數(shù)據(jù)庫的維護(hù)難度。4 商品訂單管理系統(tǒng)數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫的設(shè)計是否合理將會極大地影響系統(tǒng)運(yùn)行的性能,因此我們結(jié)合大型數(shù)據(jù)庫的設(shè)計原則,有效利用大型數(shù)據(jù)庫的優(yōu)勢,對數(shù)據(jù)庫進(jìn)行設(shè)計,在數(shù)據(jù)庫應(yīng)用系統(tǒng)的生命周期中,在設(shè)計階段做的性能優(yōu)化所帶來的效益最大,所以我所設(shè)計這個數(shù)據(jù)庫的數(shù)據(jù)庫模式至少達(dá)到了3NF的標(biāo)準(zhǔn),并結(jié)合反規(guī)范化設(shè)計的相關(guān)原則,也允許部份冗余數(shù)據(jù)的存在。 ALL就不要用UNION,UNION ALL不執(zhí)行SELECT DISTINCT函數(shù),這樣就會減少很多不必要的資源。如果把語句改為SELECT * FROM customer WHERE zipcode“98000”,在執(zhí)行查詢時就會利用索引來查詢,顯然會大大提高速度。如: IF(SELECT COUNT(*)FROM table_name WHERE column_name=39。數(shù)據(jù)類型的不兼容可能使優(yōu)化器無法執(zhí)行一些本來可以進(jìn)行的優(yōu)化操作。 使用索引優(yōu)化向?qū)?,首先要?chuàng)建工作負(fù)載。為經(jīng)常進(jìn)行連接,但是沒有指定為外鍵的字段建立索引,而不經(jīng)常連接的字段由數(shù)據(jù)庫優(yōu)化器自動建立索引。由于涉及到對程序邏輯的改變,源代碼的優(yōu)化在時間成本和風(fēng)險上代價很高,而對數(shù)據(jù)庫系統(tǒng)性能的提升收效有限。就是定義實(shí)際存放數(shù)據(jù)的媒體與各數(shù)據(jù)塊的對應(yīng)關(guān)系。 ATER DATABASE[DeanDB]ADD FILE(NAME=39。每個表包含的列數(shù)相同,但是行更少。比如能使用smallint類型就不要用int類型,這樣索引字段可以被更快地讀取,而且可以在1個數(shù)據(jù)頁上放置更多的數(shù)據(jù)行,因而也就減少了I/O操作。3 性能優(yōu)化技術(shù)介紹一個數(shù)據(jù)庫系統(tǒng)的生命周期可以分成:設(shè)計、開發(fā)和成品三個階段。為了縮短系統(tǒng)響應(yīng)時間,可以使系統(tǒng)以遠(yuǎn)低于其實(shí)際吞吐能力的吞吐量運(yùn)行或是將批理作業(yè)放在非營業(yè)時間內(nèi)處理。如果該公司的營業(yè)時間為每天8小時,并且在銷售市場體育比賽門票的第一天必須賣出25000張門票,那么該公司的門票預(yù)定系統(tǒng)的吞吐量必須等于或大于每小時3125筆事務(wù)。性能調(diào)整的一個主要目標(biāo)是消除瓶頸。SQL SERVER數(shù)據(jù)庫服務(wù)器是高度可優(yōu)化的軟件產(chǎn)品,對SQL SERVER數(shù)據(jù)庫進(jìn)行性能調(diào)整與優(yōu)化具有非常重要的意義。最后,對SQL SERVER數(shù)據(jù)庫性能調(diào)整與優(yōu)化問題進(jìn)行了總結(jié)。基于此,論文根據(jù)本人在實(shí)際工作中遇到的問題和平時對數(shù)據(jù)庫的使用經(jīng)驗,將數(shù)據(jù)庫設(shè)計、合理的索引添加以及SQL語句優(yōu)化等方面的性能調(diào)整與優(yōu)化問題作為主要研究內(nèi)容,對其進(jìn)行了深入地分析和討論,給出了一般情況下SQL SERVER數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能調(diào)整策略及優(yōu)化方法。同時,SQL SERVER數(shù)據(jù)庫在國內(nèi)外也獲得了諸多成功應(yīng)用。第六章總結(jié)全文,肯定了數(shù)據(jù)庫性能調(diào)整的應(yīng)用價值。如果反應(yīng)時間長(壞),吞吐量或許高(好)。l 減少用戶等待時間,即減少用戶訪問同一數(shù)據(jù)庫資源的沖突率。這一階段需要對數(shù)據(jù)進(jìn)行仔細(xì)分析,避免數(shù)據(jù)冗余,同時要考慮合理分布數(shù)據(jù),以防止數(shù)據(jù)存取的擁擠,如是否使用數(shù)據(jù)庫的分區(qū)功能,以及對于經(jīng)常訪問的數(shù)據(jù)庫表是否需要建立局部還是全局索引等。但表關(guān)系也許需要通過復(fù)雜的合并來處理,這樣會降低系統(tǒng)的性能。如果系統(tǒng)有多個CPU或是多個磁盤子系統(tǒng),可以通過并行操作獲得更好的性能。每個文件組可以由一個或多個文件構(gòu)成,而每個分區(qū)必須映射到一個文件組。39。 SQL查詢語句的優(yōu)化 數(shù)據(jù)庫的優(yōu)化通常可以通過對網(wǎng)絡(luò)、硬件、操作系統(tǒng)、數(shù)據(jù)庫參數(shù)和應(yīng)用程序的優(yōu)化來進(jìn)行。 從大多數(shù)系統(tǒng)應(yīng)用實(shí)例來看,查詢操作在各種數(shù)據(jù)庫的操作中,所占的比重最大。 在創(chuàng)建索引后,必須維護(hù)索引以確??梢垣@得最佳的性能。 ,保證在實(shí)現(xiàn)功能的基礎(chǔ)上,盡量減少對數(shù)據(jù)庫的訪問次數(shù);通過搜索參數(shù),盡量減少對表的訪問行數(shù),最小化結(jié)果集,從而減輕網(wǎng)絡(luò)負(fù)擔(dān);能夠分開的操作盡量分開處理,提高每次的響應(yīng)速度;在數(shù)據(jù)窗口使用SQL時,盡量把使用的索引放在選擇的首列。 、NOT EXISTS子句。 盡管在所有的檢查列上都有索引,但某些形式的WHERE子句強(qiáng)迫優(yōu)化器使用順序存取。prod’ UNION ALL SELECT employeeID,firstname,lastname FROM names WHERE city= 39。 上面我們提到的是一些基本的提高查詢速度的注意事項,但是在更多的情況下,往往需要反復(fù)試驗比較不同的語句以得到最佳方案。訂單號為其主鍵,客戶號為其外鍵。 水平分區(qū)常用的方法是根據(jù)時期和使用對數(shù)據(jù)進(jìn)行水平分區(qū)。200513139。 在創(chuàng)建適當(dāng)?shù)乃饕?,查詢語句一的執(zhí)行計劃如圖52所示,該查詢的執(zhí)行成。江中制藥39。雖然優(yōu)化器有時可以自動將子查詢“扁平化”,并且用常規(guī)連接或外連接代替。參考文獻(xiàn)[1] Dennis Shasha 著, 孟小峰最后提出一個針對SQL SERVER數(shù)據(jù)庫的系統(tǒng)性能總體調(diào)整策略。and ordertime=39。20051139。即使在上述表和字段上創(chuàng)建了索引,系統(tǒng)使用這些索引的機(jī)率也非常小。會員39。水平分區(qū)將表分為多個表。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1