国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SQL SERVER數(shù)據(jù)庫(kù)性能調(diào)整與優(yōu)化

2016-07-04 19:11:53馬孝賀李莎
電腦知識(shí)與技術(shù) 2016年15期
關(guān)鍵詞:數(shù)據(jù)庫(kù)系統(tǒng)語(yǔ)句應(yīng)用程序

馬孝賀+李莎

摘要:微軟的SQL Server數(shù)據(jù)庫(kù)系統(tǒng),因其各種優(yōu)點(diǎn)在軟件系統(tǒng)市場(chǎng)上占有比較大的比例,但是數(shù)據(jù)庫(kù)在使用過程中也會(huì)出現(xiàn)多種可以導(dǎo)致服務(wù)器運(yùn)行速度變慢或降低數(shù)據(jù)訪問效率的事件發(fā)生。文章從多個(gè)方面講述了SQL Server數(shù)據(jù)庫(kù)系統(tǒng)調(diào)整和優(yōu)化策略,可以有效提高數(shù)據(jù)庫(kù)的查詢速度。

關(guān)鍵字:SQL Server;應(yīng)用程序;B/S;數(shù)據(jù)復(fù)制

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)15-0012-02

基于微軟的SQL Server數(shù)據(jù)庫(kù)系統(tǒng),是目前很多軟件所使用的數(shù)據(jù)庫(kù),其功能強(qiáng)大,而且兼容性能較好,適用于大多數(shù)的軟件開發(fā)系統(tǒng)。但是,任何一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)在操作較長(zhǎng)一段時(shí)間后,都可能存在一定的性能問題,這個(gè)性能問題包括多個(gè)方面,主要涉及數(shù)據(jù)庫(kù)的內(nèi)存、操作系統(tǒng)、參數(shù)設(shè)置、操作應(yīng)用程序及硬件等多個(gè)方面。因此,就像操作系統(tǒng)一樣,在一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行一段時(shí)間后,對(duì)其進(jìn)行優(yōu)化對(duì)整個(gè)軟件系統(tǒng)的正常運(yùn)行起著非常重要的作用,可以有效促進(jìn)軟件系統(tǒng)的穩(wěn)定性、可用性和高效性,節(jié)約系統(tǒng)開銷,解決系統(tǒng)瓶頸。

1 性能調(diào)整與優(yōu)化概述

性能調(diào)整是指的對(duì)系統(tǒng)的相關(guān)參數(shù)、應(yīng)用程序、軟硬件系統(tǒng)進(jìn)行優(yōu)化,從而可以有效改變系統(tǒng)性能的一種活動(dòng)。對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的性能優(yōu)化及調(diào)整主要包括對(duì)軟硬件配置、操作系統(tǒng)及數(shù)據(jù)庫(kù)管理系統(tǒng)的配置進(jìn)行優(yōu)化,還包括對(duì)訪問這些配置的應(yīng)用程序的分析與了解。

對(duì)數(shù)據(jù)庫(kù)性能是否優(yōu)秀的判定標(biāo)準(zhǔn)主要是看這個(gè)數(shù)據(jù)庫(kù)各個(gè)性能指標(biāo),一個(gè)數(shù)據(jù)庫(kù)的性能指標(biāo)主要包含以下幾個(gè)部分:事務(wù)處理所占用的系統(tǒng)資源、事件的響應(yīng)時(shí)間以及CPU的時(shí)間量。性能并不是一成不變的,而是隨著使用的時(shí)間和環(huán)境的變化而變化。數(shù)據(jù)庫(kù)系統(tǒng)的性能受使用應(yīng)用程序、本身的體系結(jié)構(gòu)和硬件設(shè)備性能及連接數(shù)目及資源等多個(gè)方面的影響。

所謂性能調(diào)整,就是通過優(yōu)化提高系統(tǒng)的高效性,消除系統(tǒng)使用瓶頸。一個(gè)系統(tǒng)是否高效,主要是看他的瓶頸,因?yàn)檫@個(gè)是系統(tǒng)性能限制的主要決定因素,可能是軟件,也可能是硬件部分。如果系統(tǒng)的瓶頸限制過大,則對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的訪問和存儲(chǔ)及更新都有很大影響,減少系統(tǒng)瓶頸,可以將一個(gè)系統(tǒng)性能最大程度的發(fā)揮。為了有效去除系統(tǒng)瓶頸,對(duì)性能進(jìn)行調(diào)整,必須采取一定的步驟和方法去調(diào)整所有和性能相關(guān)的組件,包括應(yīng)用調(diào)整和SQLServer。

2 應(yīng)用調(diào)整

對(duì)數(shù)據(jù)庫(kù)的性能優(yōu)化來說,最有可能導(dǎo)致數(shù)據(jù)庫(kù)性能產(chǎn)生變化的就是應(yīng)用軟件的影響。應(yīng)用調(diào)整相對(duì)于硬件來說更容易做到監(jiān)控和修改,也更容易顯示出效果來。應(yīng)用的調(diào)整和優(yōu)化也可以影響到數(shù)據(jù)系統(tǒng)的后續(xù)步驟的調(diào)整,有效地減小系統(tǒng)開支,使普通的應(yīng)用程序不至于占用太多的系統(tǒng)資源。應(yīng)用調(diào)整一般來說是對(duì)SQL SERVER性能調(diào)整的第一步,也是關(guān)鍵的一步,主要包括應(yīng)用程序調(diào)整、頁(yè)面應(yīng)用調(diào)整、數(shù)據(jù)庫(kù)查詢語(yǔ)句調(diào)整等多個(gè)因素。

1)SQL語(yǔ)句優(yōu)化

數(shù)據(jù)庫(kù)性能優(yōu)化中,標(biāo)準(zhǔn)查詢語(yǔ)句(SQL)的優(yōu)化可以有效提高數(shù)據(jù)查詢、更新、插入的執(zhí)行效率。低效率的數(shù)據(jù)庫(kù)查詢語(yǔ)句,往往會(huì)占用過多的資源并訪問過多的數(shù)據(jù)庫(kù),從而使系統(tǒng)的響應(yīng)時(shí)間變長(zhǎng),嚴(yán)重影響系統(tǒng)的性能。通過優(yōu)化SQL語(yǔ)句,改變數(shù)據(jù)庫(kù)查詢方法或途徑,可以有效提高系統(tǒng)的性能。數(shù)據(jù)庫(kù)系統(tǒng)的應(yīng)用最多的就是將數(shù)據(jù)庫(kù)的數(shù)據(jù)顯示出來,這離不開數(shù)據(jù)庫(kù)的查詢語(yǔ)句,這也是影響系統(tǒng)性能最關(guān)鍵的一個(gè)步驟。微軟的SQL Server本身提供了數(shù)據(jù)庫(kù)的查詢和優(yōu)化方法,對(duì)常用的數(shù)據(jù)庫(kù)查詢語(yǔ)句進(jìn)行分析,可以找到最佳的查詢語(yǔ)句,從而可以減少輸入/輸出次數(shù),提高執(zhí)行效率。但是微軟提供的查詢優(yōu)化器很難能夠完全解決查詢語(yǔ)句的優(yōu)化,比如語(yǔ)義方面的問題等。

2)B/S 模式優(yōu)化

目前很多軟件的開發(fā)模式都采用了基于B/S的模式,在這種模式下,用戶端無須在安裝多余的軟件,服務(wù)器將后臺(tái)處理的數(shù)據(jù)通過HTTP協(xié)議傳輸?shù)娇蛻舳?。這種做法實(shí)際上減輕了前端客戶機(jī)的工作量,而將更的計(jì)算負(fù)載交給了數(shù)據(jù)庫(kù)服務(wù)器,所以在這種模式下對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化可以取得不錯(cuò)的效果,一般情況下采取以下的優(yōu)化策略。

Web應(yīng)用程序優(yōu)化:

在B/S架構(gòu)的軟件模型中,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的訪問是來自前端的數(shù)據(jù)庫(kù)查詢語(yǔ)句,所以Web應(yīng)用程序優(yōu)化也主要表現(xiàn)在對(duì)大量查詢語(yǔ)句的優(yōu)化上,除了使用查詢優(yōu)化器進(jìn)行優(yōu)化外,還要注意的查詢方法的基本操作原則就是,數(shù)據(jù)查詢要盡量少的涉及相關(guān)的數(shù)據(jù)庫(kù)和數(shù)據(jù)量,并且隨著查詢的進(jìn)行,查詢語(yǔ)句要操作的數(shù)據(jù)量要迅速減小,并快速地顯示出來,這樣才不至于系統(tǒng)響應(yīng)時(shí)間過長(zhǎng)。

Web服務(wù)器優(yōu)化:

對(duì)Web服務(wù)器的優(yōu)化中,主要是對(duì)前端應(yīng)用程序?qū)?shù)據(jù)庫(kù)的訪問做一定的限制,由于在B/S結(jié)構(gòu)的系統(tǒng)中,客戶訪問服務(wù)器的訪問量很大,所以要對(duì)長(zhǎng)期要求占用系統(tǒng)資源的客戶應(yīng)用程序進(jìn)行限制,以免出現(xiàn)服務(wù)器只為很少的客戶服務(wù),而大量的服務(wù)在排除的現(xiàn)象發(fā)生。

運(yùn)算負(fù)載與網(wǎng)絡(luò)分配:

在實(shí)際應(yīng)用過程中,數(shù)據(jù)傳輸是不均衡的,有些網(wǎng)絡(luò)節(jié)點(diǎn)傳輸?shù)臄?shù)據(jù)多,有些網(wǎng)絡(luò)節(jié)點(diǎn)傳輸?shù)臄?shù)據(jù)少。對(duì)于持續(xù)進(jìn)行大量數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)節(jié)點(diǎn)來說,他需要對(duì)數(shù)據(jù)庫(kù)系統(tǒng)經(jīng)常性訪問,可以考慮將其使用的網(wǎng)絡(luò)與其他網(wǎng)絡(luò)分割開來,這樣就不會(huì)影響其他的用戶訪問。對(duì)于有大量數(shù)據(jù)進(jìn)行傳輸?shù)膽?yīng)用來說,可以適當(dāng)增加網(wǎng)絡(luò)包大小,以減少網(wǎng)絡(luò)傳輸次數(shù)。

3)對(duì)內(nèi)存的有效管理

數(shù)據(jù)在計(jì)算機(jī)中處理,并不是在數(shù)據(jù)實(shí)際存儲(chǔ)的空間進(jìn)行處理的,而是將數(shù)據(jù)調(diào)入到內(nèi)存中進(jìn)行處理,這是因?yàn)閮?nèi)存的速度要遠(yuǎn)大于外存儲(chǔ)設(shè)備的存取速度。提高數(shù)據(jù)存取性能的最直接的方法就是增大物理內(nèi)存,但是目前內(nèi)存的大小還是有比較大的限制,所以如何合理利用內(nèi)存更有效的處理數(shù)據(jù)成了內(nèi)存有效管理的最有效的方法。在數(shù)據(jù)庫(kù)中高速緩存可以分成兩種,一種是數(shù)據(jù)調(diào)整緩存,一種是過程高速緩存。數(shù)據(jù)高速緩存主要早用來存儲(chǔ)數(shù)據(jù)、日志、索引有數(shù)據(jù)庫(kù)對(duì)象,而過程高速緩存主要用來存儲(chǔ)查詢計(jì)劃,觸發(fā)器等。

高速緩沖存儲(chǔ)器是存在于主存與CPU之間的一級(jí)存儲(chǔ)器,由靜態(tài)存儲(chǔ)芯片(SRAM)組成,容量比較小但速度比主存高得多,接近于CPU的速度。正常情況下高速度緩存應(yīng)該占數(shù)據(jù)庫(kù)內(nèi)存的20%,但是這個(gè)值應(yīng)該隨著系統(tǒng)或數(shù)據(jù)傳輸?shù)囊蠖粩嗾{(diào)整,對(duì)于要求較高的應(yīng)用程序或服務(wù)可以適當(dāng)增加其高速緩存的比例。

可以將經(jīng)常使用的數(shù)據(jù)庫(kù)或數(shù)據(jù)表固定到數(shù)據(jù)調(diào)整緩存上,這樣可以大大提高數(shù)據(jù)的查詢和處理速度。

4)充分利用臨時(shí)數(shù)據(jù)庫(kù)

在數(shù)據(jù)使用過程中,為了提高數(shù)據(jù)庫(kù)的利用效率,會(huì)對(duì)查詢產(chǎn)生的結(jié)果數(shù)據(jù)進(jìn)行第二次使用,這個(gè)查詢的結(jié)果數(shù)據(jù)往往被存儲(chǔ)為臨時(shí)數(shù)據(jù)庫(kù),這個(gè)臨時(shí)數(shù)據(jù)表可以被多個(gè)用戶所共享使用,如果對(duì)臨時(shí)數(shù)據(jù)進(jìn)行充分利用,可以大大提高數(shù)據(jù)庫(kù)的查詢效率。通過以下步驟對(duì)臨時(shí)數(shù)據(jù)庫(kù)進(jìn)入處理,可以提高其性能。

臨時(shí)數(shù)據(jù)庫(kù)的容量是可以定義的,擴(kuò)大臨時(shí)數(shù)據(jù)庫(kù)的容量可以有效增加數(shù)據(jù)處理量。

可以將臨時(shí)數(shù)據(jù)庫(kù)保存下來,存儲(chǔ)在獨(dú)立的物理介質(zhì)上,從而可以單獨(dú)調(diào)用。

如果臨時(shí)數(shù)據(jù)庫(kù)經(jīng)常被訪問,可以考慮將其放面高速緩沖區(qū),以減少數(shù)據(jù)對(duì)磁盤的訪問次數(shù),提高數(shù)據(jù)執(zhí)行效率。

3 SQL SERVER調(diào)整

SQL SERVER調(diào)整與硬件調(diào)整是緊密相關(guān)的,是對(duì)數(shù)據(jù)庫(kù)服務(wù)器的性能調(diào)整。通過修改SQL Server的配置參數(shù)(configuration parameter), SQL SERVER調(diào)整包括改變它分配資源的方法以及它的工作方式。有些配置參數(shù)與資源的使用有關(guān),有些則無關(guān)。那些與資源使用有關(guān)的參數(shù)緊密地依賴于系統(tǒng)中可用的硬件資源。這些參數(shù)必須基于系統(tǒng)中可用的硬件資源的類型與數(shù)量進(jìn)行修改。例如,一個(gè)具有多處理器的系統(tǒng),如對(duì)稱多處理器((SMP)系統(tǒng),使用多個(gè)SQL SERVER線程(進(jìn)程)的效果要比使用單處理器的系統(tǒng)工作得更好。具有許多可用內(nèi)存的系統(tǒng)應(yīng)該調(diào)整SQL SERVER,以充分利用這些附加的內(nèi)存。應(yīng)該修改輸入/輸出((I/O)參數(shù),以充分利用系統(tǒng)中所擁有的I/O系統(tǒng)類型。SQL SERVER調(diào)整與硬件調(diào)整包括為需求的工作量提供足夠的系統(tǒng)資源??偟恼f來,SQL SERVER調(diào)整涉及服務(wù)器硬件調(diào)整、數(shù)據(jù)庫(kù)優(yōu)化設(shè)計(jì)、SQL SERVER配置參數(shù)調(diào)整等內(nèi)容。

數(shù)據(jù)復(fù)制優(yōu)化:

當(dāng)今世界數(shù)據(jù)的傳輸量越來越大,而且應(yīng)用程序的分布式計(jì)算程度越來越大,所以數(shù)據(jù)傳送給用戶過程的網(wǎng)絡(luò)就往往成了傳送的瓶頸。在數(shù)據(jù)傳輸中,數(shù)據(jù)庫(kù)管理員對(duì)網(wǎng)絡(luò)帶寬或網(wǎng)絡(luò)傳輸?shù)墓芾碜霾坏絿?yán)格控制,所以只能對(duì)數(shù)據(jù)庫(kù)本身進(jìn)行優(yōu)化來減少數(shù)據(jù)傳輸量。減少網(wǎng)絡(luò)的傳輸流量并不是減少數(shù)據(jù)的傳送量,而是減小數(shù)據(jù)包數(shù)量大小。在數(shù)據(jù)庫(kù)查詢中,對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)的查詢有的時(shí)候會(huì)經(jīng)過幾個(gè)服務(wù)器的數(shù)據(jù)傳輸,應(yīng)該盡量減小從一個(gè)數(shù)據(jù)庫(kù)到另一個(gè)數(shù)據(jù)庫(kù)的傳輸流量,不同的數(shù)據(jù)的復(fù)制選項(xiàng)會(huì)有效減少網(wǎng)絡(luò)之間的數(shù)據(jù)傳輸量。

如圖1所示,這是一個(gè)分布式的數(shù)據(jù)庫(kù)環(huán)境,數(shù)據(jù)分別存儲(chǔ)在不同的位置,當(dāng)客戶終端要發(fā)生數(shù)據(jù)訪問時(shí),便會(huì)有數(shù)據(jù)從一個(gè)數(shù)據(jù)庫(kù)鏈接流向另外一個(gè)數(shù)據(jù)庫(kù)。當(dāng)前的數(shù)據(jù)庫(kù)存儲(chǔ)形式,特別是移動(dòng)數(shù)據(jù)庫(kù)的存儲(chǔ),都是完全支持分布式的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的訪問不像以前那樣在一個(gè)服務(wù)器把對(duì)數(shù)據(jù)的操作全部完成。對(duì)數(shù)據(jù)庫(kù)之間數(shù)據(jù)流動(dòng)采取的是數(shù)據(jù)復(fù)制的形式,事務(wù)處理往往在服務(wù)器和移動(dòng)終端兩個(gè)方面進(jìn)行。

在數(shù)據(jù)處理中,如果所有的數(shù)據(jù)都是標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu),都是統(tǒng)一的數(shù)據(jù)格式,則數(shù)據(jù)處理起來就方便很多,可以通過多個(gè)數(shù)據(jù)庫(kù)的跳轉(zhuǎn)直接訪問,但是目前的數(shù)據(jù)特別是動(dòng)態(tài)數(shù)據(jù),很多都是非標(biāo)準(zhǔn)的數(shù)據(jù),在數(shù)據(jù)庫(kù)存儲(chǔ)和訪問非常冗長(zhǎng)的數(shù)據(jù)的時(shí)候,往往要采數(shù)據(jù)復(fù)制的方式來縮短用戶訪問數(shù)據(jù)的有效路徑。數(shù)據(jù)復(fù)制無需通過網(wǎng)絡(luò)來完成數(shù)據(jù)庫(kù)的查詢功能,只要把遠(yuǎn)程的數(shù)據(jù)復(fù)制到本地再來完成對(duì)數(shù)據(jù)的操作。

參考文獻(xiàn):

[1]許平格.數(shù)據(jù)庫(kù)管理系統(tǒng)中查詢優(yōu)化的設(shè)計(jì)和實(shí)現(xiàn)[D].浙江大學(xué),2005.

[2] 劉啟原,劉冶. 數(shù)據(jù)庫(kù)與信息系統(tǒng)安全[M].科學(xué)出版社,2011

[3] 微軟.SQL SERVER 2010企業(yè)版的安裝、配置和管理[M].高等教育出版社,2013.

[4] SQL Server數(shù)據(jù)庫(kù)性能優(yōu)化技術(shù)http://www.ittianxia.cn/html/database/MSSQL/20070413/11219.html.

猜你喜歡
數(shù)據(jù)庫(kù)系統(tǒng)語(yǔ)句應(yīng)用程序
重點(diǎn):語(yǔ)句銜接
刪除Win10中自帶的應(yīng)用程序
數(shù)據(jù)庫(kù)系統(tǒng)shell腳本應(yīng)用
精彩語(yǔ)句
微細(xì)銑削工藝數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)與開發(fā)
實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)安全采集方案
核反應(yīng)堆材料數(shù)據(jù)庫(kù)系統(tǒng)及其應(yīng)用
如何搞定語(yǔ)句銜接題
關(guān)閉應(yīng)用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
三星電子將開設(shè)應(yīng)用程序下載商店
阿拉善右旗| 子洲县| 苏尼特右旗| 大渡口区| 界首市| 女性| 武夷山市| 定日县| 洪湖市| 新绛县| 扶沟县| 平安县| 天门市| 达州市| 屏东县| 靖州| 天峻县| 济南市| 柘城县| 兴仁县| 赤水市| 鄯善县| 彭山县| 恩施市| 阜宁县| 洛川县| 田东县| 东山县| 肥乡县| 西林县| 忻州市| 安陆市| 肃宁县| 远安县| 丰台区| 铜鼓县| 周至县| 金塔县| 沁水县| 喀喇| 东光县|