SQLServer性能監(jiān)控

我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、澄海ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的澄海網(wǎng)站制作公司
這套性能優(yōu)化的清單將至少準(zhǔn)科學(xué)的幫助你找出你的SQLServer任何明顯的性能問(wèn)題。說(shuō)是這樣說(shuō),SQLServer的性能調(diào)優(yōu)仍然是很困難的。我試圖用這套清單去找出“容易”的sqlserver性能問(wèn)題,困難的留待稍后。我這樣做是因?yàn)楹苋菀讓⑷菀缀屠щy的的性能調(diào)優(yōu)問(wèn)題搞混。通過(guò)列出一個(gè)“容易”的性能調(diào)優(yōu)范圍,就很容易的將這些問(wèn)題解決,一旦解決了這些容易的問(wèn)題,那么你就能集中去解決更困難的問(wèn)題。
使用這個(gè)SQLServer性能調(diào)優(yōu)清單的一個(gè)好處是,它將不僅僅告訴你目前最容易解決的性能問(wèn)題是什么,而且還幫助你正確的去解決。在某種程度上,你可以選擇不同的順序進(jìn)行。換句話說(shuō),你可以故意做出特殊的決定而不是按照清單通常的順序進(jìn)行。某種意義上說(shuō)你是對(duì)的,不是所有的性能調(diào)優(yōu)建議都適合所有的情形。另外,你的決定是基于你的資源限制,例如沒(méi)有足夠的錢去買滿足負(fù)荷的硬件。如果真是那樣的話,你就別無(wú)選擇了。還有,你的決定可能基于一些政治原因,那是你不得不作出的改變。不管怎樣,你需要知道你能做什么,使用這個(gè)性能調(diào)優(yōu)清單找出你能改變的范圍并做出相應(yīng)的改變提升你的SQLServer的性能。
一般來(lái)說(shuō),你將在你的每一個(gè)SQL服務(wù)器上執(zhí)行這個(gè)清單。如果遇到清單中的一些問(wèn)題,這會(huì)花掉你一些時(shí)間。我建議你從目前性能問(wèn)題最多的的服務(wù)器開(kāi)始,然后當(dāng)你有時(shí)間的時(shí)候按照自己的思路去解決其他服務(wù)器。
一旦你完成了,可仍然有很多事情要去做。記住,這些只是一些容易的。一旦你完成了這些容易的,接下來(lái)你需要花時(shí)間去解決更困難問(wèn)題。這個(gè)是另一篇文章要解決的問(wèn)題了。
怎樣進(jìn)行你的SQLServer性能調(diào)優(yōu)呢?
為了使其變得容易,我把它們分成了以下幾個(gè)部分:
? 使用性能監(jiān)視器找出硬件瓶頸
? SQLServer硬件性能監(jiān)控列表
? 操作系統(tǒng)性能監(jiān)控列表
? SQLServer2000配置性能監(jiān)控列表
? 數(shù)據(jù)庫(kù)配置設(shè)置性能監(jiān)控列表
? 索引性能監(jiān)控列表
? 應(yīng)用程序和T-SQL性能監(jiān)控列表
? SQLServer數(shù)據(jù)庫(kù)作業(yè)性能監(jiān)控列表
? 使用Profiler找出低效的查詢
? 怎樣最好的實(shí)現(xiàn)SQLServer性能監(jiān)控
管理你的SQLServe性能的最好方法是首先回顧上面每一部分的內(nèi)容,把它們打印出來(lái)。然后完成每一部分的內(nèi)容,寫下你收集到的結(jié)果。你也可以按照你喜歡的順序進(jìn)行。上面的步驟僅僅列出了我執(zhí)行的順序,因?yàn)槟菢油ǔD苓_(dá)到一個(gè)比較好的效果。
性能監(jiān)控列表
計(jì)數(shù)器名稱 均值 最小值 最大值
Memory: Pages/sec
Memory: Available Bytes
Physical Disk: % Disk time
Physical Disk: Avg. Disk Queue Length
Processor: % Processor Time
System: Processor Queue Length
SQL Server Buffer: Buffer Cache Hit Ratio
SQL Server General: User Connections
在上表輸入你的結(jié)果.
使用性能監(jiān)視器找出SQLServer硬件瓶頸
開(kāi)始SQLServer性能調(diào)優(yōu)的最佳地方就是從性能監(jiān)視器(系統(tǒng)監(jiān)視器)開(kāi)始。通過(guò)一個(gè)24小時(shí)的周期對(duì)一些關(guān)鍵的計(jì)數(shù)器進(jìn)行監(jiān)控,你將對(duì)你SQLServer服務(wù)器的硬件瓶頸了如指掌。
一般來(lái)說(shuō),使用性能監(jiān)視器去創(chuàng)建一個(gè)一些關(guān)鍵的計(jì)數(shù)器的24小時(shí)周期的監(jiān)控日志。當(dāng)你決定創(chuàng)建這個(gè)日志的時(shí)候,你需要選擇一個(gè)典型的24小時(shí)的周期,例如,選擇一個(gè)典型的比較忙的日期,而不是周日或節(jié)假日。
一旦你將這些捕獲的數(shù)據(jù)形成日志后,在性能監(jiān)視器的圖形界面下會(huì)顯示計(jì)數(shù)器的推薦值。你在上表中記下均值、最小值、峰值。做完這些后,用你的結(jié)果跟下面的分析比較。通過(guò)你的結(jié)果和下面的建議值進(jìn)行比較,你將能快速的找到你的SQLServe正在經(jīng)歷的潛在的硬件瓶頸。
關(guān)鍵性能計(jì)數(shù)器說(shuō)明
下面是不同關(guān)鍵性能計(jì)數(shù)器的一個(gè)討論,它們的建議值和為了幫助解決硬件瓶頸問(wèn)題的一些選項(xiàng)。注意我已經(jīng)限制了性能監(jiān)視器需要監(jiān)視的一些關(guān)鍵計(jì)數(shù)器。我這么做是因?yàn)樵诒疚奈覀兊哪康氖菫榱巳菀椎恼业斤@而易見(jiàn)的性能問(wèn)題,許多其他的性能監(jiān)視器計(jì)數(shù)器你能在本網(wǎng)站其他地方找到。
Memory: Pages/sec
這個(gè)計(jì)數(shù)器記錄的是每秒鐘內(nèi)存和磁盤之間交換的頁(yè)面數(shù)。交換更多的頁(yè)面、超過(guò)你服務(wù)器承受的更多的I/O,將輪流降低你SQLserver的性能。你的目的就是盡量將頁(yè)面減少到最小,而不是消除它。
如果你的服務(wù)器上SQLServer是最主要的應(yīng)用程序,那么這個(gè)值的理想范圍是0~20之間。可能很多時(shí)候你看到的值都會(huì)超過(guò)20。這個(gè)值一般要保持在每秒的平均頁(yè)數(shù)在20以下。
如果這個(gè)值平均總是超過(guò)20,其中最大的一個(gè)可能是內(nèi)存瓶頸問(wèn)題,需要增加內(nèi)存。通常來(lái)說(shuō),更多的內(nèi)存意味著需要執(zhí)行的頁(yè)面更少。
在大多數(shù)情況下,服務(wù)器決定SQLServer使用的適當(dāng)內(nèi)存的大小,頁(yè)面將平均小于20。給SQLServer適當(dāng)?shù)膬?nèi)存意味著服務(wù)器的緩存命中率(Buffer Hit Cache Ratio 這個(gè)稍后會(huì)講到)達(dá)到99%或者更高。如果在一個(gè)24小時(shí)的周期里你的sqlserver的緩存命中率達(dá)到99%或者更高,但是在這個(gè)期間你的頁(yè)面數(shù)總是超過(guò)20,這意味著你或許運(yùn)行了其他的程序。如果是這樣的情況,建議你移除這些程序,使SQLServer是你的服務(wù)器的最主要的程序。
如果你的sqlserver服務(wù)器沒(méi)有運(yùn)行其他程序,并且在一個(gè)24小時(shí)的周期里頁(yè)面數(shù)總是超過(guò)20,這說(shuō)明你應(yīng)該修改你對(duì)SQLServer的內(nèi)存設(shè)置了。將其設(shè)置為“動(dòng)態(tài)配置SQLServer的內(nèi)存”,并且最大內(nèi)存設(shè)置得高一些。為了達(dá)到最優(yōu),SQLServer將盡可能的獲得多的內(nèi)存以完成自己的工作,而不是去和其他的程序爭(zhēng)奪內(nèi)存。
Memory: Available Bytes
另一個(gè)檢查SQLServer是否有足夠的物理內(nèi)存的方法是檢查Memory Object: Available Bytes計(jì)數(shù)器。 這個(gè)值至少大于5M,否則需要添加更多的物理內(nèi)存。在一個(gè)專門的SQLServer服務(wù)器上,SQLServer試圖維持4-10M的自由物理內(nèi)存,其余的物理內(nèi)存被操作系統(tǒng)和SQLServer使用。當(dāng)可用的物理內(nèi)存接近5M或者更低時(shí),SQLServer最可能因?yàn)槿鄙賰?nèi)存而遇到性能瓶頸。遇此情況,你需要增加物理內(nèi)存以減少服務(wù)器的負(fù)荷,或者給SQLServer配置一個(gè)合適的內(nèi)存。
Physical Disk: % Disk Time
這個(gè)計(jì)數(shù)器度量磁盤陣列繁忙程度(不是邏輯分區(qū)或磁盤陣列上獨(dú)立的磁盤)。它提供一個(gè)對(duì)磁盤陣列繁忙程度相對(duì)較好的度量。原則上計(jì)數(shù)器% Disk Time的值應(yīng)該小于55%。如果持續(xù)超過(guò)55%(在你24小時(shí)的監(jiān)控周期里大約超過(guò)10分鐘),說(shuō)明你的SQLServer有I/O瓶頸。如果你只是偶爾看到,也不必太擔(dān)心。但是,如果經(jīng)常發(fā)生的話(也就是說(shuō),一個(gè)小時(shí)出現(xiàn)好幾次),就應(yīng)該著手尋找增加服務(wù)器I/O性能或者減少服務(wù)器負(fù)荷的解決之道了。一般是為磁盤陣列增加磁盤,或者更好更快的磁盤,或者給控制器卡增加緩存,或者使用不同版本的RAID,或者更換更快的控制器。
在NT4.0上使用該計(jì)數(shù)器之前,確認(rèn)在NT命令提示符下輸入diskperf -y,重啟服務(wù)器,以便手動(dòng)打開(kāi)。在NT4.0下第一次必須將該計(jì)數(shù)器打開(kāi),Windows2000默認(rèn)是打開(kāi)的。
Physical Disk: Avg. Disk Queue Length
除了觀察物理磁盤的% Disk Time計(jì)數(shù)器外,還可以用Avg. Disk Queue Length計(jì)數(shù)器。磁盤陣列中的各個(gè)磁盤的該值如果超過(guò)2(在你24小時(shí)的監(jiān)控周期里大約超過(guò)10分鐘),那么你的磁盤陣列存在I/O瓶頸問(wèn)題。象計(jì)數(shù)器% Disk Time一樣,如果只是偶爾看到,也不必太擔(dān)心。但是,如果經(jīng)常發(fā)生的話,就應(yīng)該著手尋找增加服務(wù)器I/O性能的解決之道了。如前所述。
你需要計(jì)算這個(gè)值,因?yàn)樾阅鼙O(jiān)視器不知道你的磁盤陣列中有多少物理磁盤。例如,如果你有一個(gè)6個(gè)物理磁盤組成的磁盤陣列,它的Avg.
Disk Queue Length值為10,那么實(shí)際每個(gè)磁盤的值為1.66(10/6=1.66),它們都在建議值2以內(nèi)。
在NT4.0上使用該計(jì)數(shù)器之前,確認(rèn)在NT命令提示符下輸入diskperf -y,重啟服務(wù)器,以便手動(dòng)打開(kāi)。在NT4.0下第一次必須將該計(jì)數(shù)器打開(kāi),Windows2000默認(rèn)是打開(kāi)的。
一起使用這兩個(gè)計(jì)數(shù)器將幫助你找出I/O瓶頸。例如,如果% Disk Time的值超過(guò)55%,Avg. Disk Queue Length計(jì)數(shù)器值超過(guò)2,服務(wù)器則存在I/O瓶頸。
Processor: % Processor Time
處理器對(duì)象: % Processor Time計(jì)數(shù)器對(duì)每一個(gè)CPU可用,并針對(duì)每一個(gè)CPU進(jìn)行檢測(cè)。同樣對(duì)于所有的CPU也可用。這是一個(gè)觀察CPU利用率的關(guān)鍵計(jì)數(shù)器。如果% Total Processor Time計(jì)數(shù)器的值持續(xù)超過(guò)80%(在你24小時(shí)的監(jiān)控周期里大約超過(guò)10分鐘),說(shuō)明CPU存在瓶頸問(wèn)題。如果只是偶爾發(fā)生,并且你認(rèn)為對(duì)你的服務(wù)器影響不大,那沒(méi)問(wèn)題。如果經(jīng)常發(fā)生,你應(yīng)該減少服務(wù)器的負(fù)載,更換更高頻率的CPU,或者增加CPU的數(shù)量或者增加CPU的2級(jí)緩存(L2 cache)。
System: Processor Queue Length
根據(jù)% Processor Time計(jì)數(shù)器,你可以監(jiān)控Processor Queue Length計(jì)數(shù)器。每個(gè)CPU的該值如果持續(xù)超過(guò)2(在你24小時(shí)的監(jiān)控周期里大約超過(guò)10分鐘),那么你的CPU存在瓶頸問(wèn)題。例如,如果你的服務(wù)器有4個(gè)CPU,Processor Queue Length計(jì)數(shù)器的值總共不應(yīng)超過(guò)8。
如果Processor Queue Length計(jì)數(shù)器的值有規(guī)律的超過(guò)建議的最大值,但是CPU利用率相對(duì)不是很高,那么考慮減少SQLServer的"max worker threads"的配置值。Processor Queue Length計(jì)數(shù)器的值高的可能原因是有太多的工作線程等待處理。通過(guò)減少"maximum worker threads"的值,強(qiáng)迫線程池踢掉某些線程,從而使線程池得到最大的利用。
一起使用計(jì)數(shù)器Processor Queue Length和計(jì)數(shù)器% Total Process Time,你可以找到CPU瓶頸,如果都顯示超過(guò)它們的建議值,可以確信存在CPU瓶頸問(wèn)題。
SQL Server Buffer: Buffer Cache Hit Ratio
SQL Server Buffer中的計(jì)數(shù)器Buffer Cache Hit Ratio用來(lái)指出SQLServer從緩存中而不是磁盤中獲得數(shù)據(jù)的頻率。在一個(gè)OLTP程序中,該比率應(yīng)該超過(guò)90%,理想值是超過(guò)99%。如果你的buffer cache hit ratio低于90%,你需要立即增加內(nèi)存。如果該比率在90%和99%之間,你應(yīng)該認(rèn)真考慮購(gòu)買更多的內(nèi)存了。如果接近99%,你的SQLServer性能是比較快的了。某些情況下,如果你的數(shù)據(jù)庫(kù)非常大,你不可能達(dá)到99%,即使你在服務(wù)器上配置了最大的內(nèi)存。你所能做的就是盡可能的添加內(nèi)存。
在OLAP程序中,由于其本身的工作原理,該比率大大減少。不管怎樣,更多的內(nèi)存總是能提高SQLServer的性能。
SQL Server General: User Connections
既然sqlserver的使用人數(shù)會(huì)影響它的性能,你就需要專注于sqlserver的General Statistics Object: User Connections計(jì)數(shù)器。它顯示sqlserver目前連接的數(shù)量,而不是用戶數(shù)。
如果該計(jì)數(shù)器超過(guò)255,那么你需要將sqlserver的"Maximum Worker Threads" 的配置值設(shè)置得比缺省值255高。如果連接的數(shù)量超過(guò)可用的線程數(shù),那么sqlserver將共享線程,這樣會(huì)影響性能。"Maximum Worker Threads"需要設(shè)置得比你服務(wù)器曾經(jīng)達(dá)到的最大連接數(shù)更高。
MySQL的優(yōu)點(diǎn):
1. 它使用的核心線程是完全多線程,支持多處理器。
2. 有多種列類型:1、2、3、4、和8字節(jié)長(zhǎng)度自有符號(hào)/無(wú)符號(hào)整數(shù)、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM類型。
3. 它通過(guò)一個(gè)高度優(yōu)化的類庫(kù)實(shí)現(xiàn)SQL函數(shù)庫(kù)并像他們能達(dá)到的一樣快速,通常在查詢初始化后不該有任何內(nèi)存分配。沒(méi)有內(nèi)存漏洞。
4. 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函數(shù)(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查詢中混來(lái)自不同數(shù)據(jù)庫(kù)的表。
5. 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。
6. 所有列都有缺省值。你可以用INSERT插入一個(gè)表列的子集,那些沒(méi)用明確給定值的列設(shè)置為他們的決省值。
7. MySQL可以工作在不同的平臺(tái)上。支持C、C++、Java、Perl、PHP、Python和TCL API。
(2) MySQL的缺點(diǎn):
1、 MySQL最大的缺點(diǎn)是其安全系統(tǒng),主要是復(fù)雜而非標(biāo)準(zhǔn),另外只有到調(diào)用mysqladmin來(lái)重讀用戶權(quán)限時(shí)才發(fā)生改變。
2、 MySQL的另一個(gè)主要的缺陷之一是缺乏標(biāo)準(zhǔn)的RI(Referential Integrity-RI)機(jī)制;Rl限制的缺乏(在給定字段域上的一種固定的范圍限制)可以通過(guò)大量的數(shù)據(jù)類型來(lái)補(bǔ)償。
3、 MySQL沒(méi)有一種存儲(chǔ)過(guò)程(Stored Procedure)語(yǔ)言,這是對(duì)習(xí)慣于企業(yè)級(jí)數(shù)據(jù)庫(kù)的程序員的最大限制。
4、 MySQL不支持熱備份。
5、 MySQL的價(jià)格隨平臺(tái)和安裝方式變化。Linux的MySQL如果由用戶自己或系統(tǒng)管理員而不是第三方安裝則是免費(fèi)的,第三方案則必須付許可費(fèi)。Unix或Linux 自行安裝 免費(fèi) 、Unix或Linux 第三方安裝 200美元,
SQL Server的優(yōu)點(diǎn)眾多,但是Microsoft SQL Server和其他數(shù)據(jù)庫(kù)產(chǎn)品相比也存在著以下劣勢(shì):
1開(kāi)放性。只能運(yùn)行在微軟的windows平臺(tái),沒(méi)有絲毫的開(kāi)放性可言。
2可伸縮性,并行性。并行實(shí)施和共存模型并不成熟,很難處理日益增多的用戶數(shù)和數(shù)據(jù)卷,伸縮性有限。
3性能穩(wěn)定性。SQLServer當(dāng)用戶連接多時(shí)性能會(huì)變的很差,并且不夠穩(wěn)定。
4使用風(fēng)險(xiǎn)。SQLServer完全重寫的代碼,經(jīng)歷了長(zhǎng)期的測(cè)試,不斷延遲,許多功能需時(shí)間來(lái)證明。并不十分兼容早期產(chǎn)品。使用需要冒一定風(fēng)險(xiǎn)。
5客戶端支持及應(yīng)用模式。只支持C/S模式。
SQL Server數(shù)據(jù)庫(kù)查詢速度慢的原因有很多,常見(jiàn)的有以下幾種:
1、沒(méi)有索引或者沒(méi)有用到索引(這是查詢慢最常見(jiàn)的問(wèn)題,是數(shù)據(jù)庫(kù)設(shè)計(jì)的缺陷)
2、I/O吞吐量小,形成了瓶頸效應(yīng)。
3、沒(méi)有創(chuàng)建計(jì)算列導(dǎo)致查詢不優(yōu)化。
4、內(nèi)存不足
5、網(wǎng)絡(luò)速度慢
6、查詢出的數(shù)據(jù)量過(guò)大(可以采用多次查詢,其他的方法降低數(shù)據(jù)量)
7、鎖或者死鎖(這也是查詢慢最常見(jiàn)的問(wèn)題,是程序設(shè)計(jì)的缺陷)
8、sp_lock,sp_who,活動(dòng)的用戶查看,原因是讀寫競(jìng)爭(zhēng)資源。
9、返回了不必要的行和列
10、查詢語(yǔ)句不好,沒(méi)有優(yōu)化
●可以通過(guò)以下方法來(lái)優(yōu)化查詢 :
1、把數(shù)據(jù)、日志、索引放到不同的I/O設(shè)備上,增加讀取速度,以前可以將Tempdb應(yīng)放在RAID0上,SQL2000不在支持。數(shù)據(jù)量(尺寸)越大,提高I/O越重要。
2、縱向、橫向分割表,減少表的尺寸(sp_spaceuse)
3、升級(jí)硬件
4、根據(jù)查詢條件,建立索引,優(yōu)化索引、優(yōu)化訪問(wèn)方式,限制結(jié)果集的數(shù)據(jù)量。注意填充因子要適當(dāng)(最好是使用默認(rèn)值0)。索引應(yīng)該盡量小,使用字節(jié)數(shù)小的列建索引好(參照索引的創(chuàng)建),不要對(duì)有限的幾個(gè)值的字段建單一索引如性別字段。
5、提高網(wǎng)速。
6、擴(kuò)大服務(wù)器的內(nèi)存,Windows 2000和SQL server 2000能支持4-8G的內(nèi)存。
配置虛擬內(nèi)存:虛擬內(nèi)存大小應(yīng)基于計(jì)算機(jī)上并發(fā)運(yùn)行的服務(wù)進(jìn)行配置。運(yùn)行 Microsoft SQL Server? 2000時(shí),可考慮將虛擬內(nèi)存大小設(shè)置為計(jì)算機(jī)中安裝的物理內(nèi)存的1.5倍。如果另外安裝了全文檢索功能,并打算運(yùn)行Microsoft搜索服務(wù)以便執(zhí)行全文索引和查詢,可考慮:將虛擬內(nèi)存大小配置為至少是計(jì)算機(jī)中安裝的物理內(nèi)存的3倍。將SQL Server max server memory服務(wù)器配置選項(xiàng)配置為物理內(nèi)存的1.5倍(虛擬內(nèi)存大小設(shè)置的一半)。
7、增加服務(wù)器CPU個(gè)數(shù);但是必須 明白并行處理串行處理更需要資源例如內(nèi)存。使用并行還是串行程是MSSQL自動(dòng)評(píng)估選擇的。單個(gè)任務(wù)分解成多個(gè)任務(wù),就可以在處理器上運(yùn)行。例如耽擱查詢 的排序、連接、掃描和GROUP BY字句同時(shí)執(zhí)行,SQL SERVER根據(jù)系統(tǒng)的負(fù)載情況決定最優(yōu)的并行等級(jí),復(fù)雜的需要消耗大量的CPU的查詢最適合并行處理。但是更新操作UPDATE,INSERT, DELETE還不能并行處理。
8、如果是使用like進(jìn)行查詢的話,簡(jiǎn)單的使用index是不行的,但是全文索引,耗空間。 like ''a%'' 使用索引 like ''%a'' 不使用索引用 like ''%a%'' 查詢時(shí),查詢耗時(shí)和字段值總長(zhǎng)度成正比,所以不能用CHAR類型,而是VARCHAR。對(duì)于字段的值很長(zhǎng)的建全文索引。
9、DB Server 和APPLication Server 分離;OLTP和OLAP分離
10、分布式分區(qū)視圖可用于實(shí)現(xiàn)數(shù)據(jù)庫(kù)服務(wù)器聯(lián)合體。
聯(lián)合體是一組分開(kāi)管理的服務(wù)器,但它們相互協(xié)作分擔(dān)系統(tǒng)的處理負(fù)荷。這種通過(guò)分區(qū)數(shù)據(jù)形成數(shù)據(jù)庫(kù)服務(wù)器聯(lián)合體的機(jī)制能夠擴(kuò)大一組服務(wù)器,以支持大型的多層 Web 站點(diǎn)的處理需要。有關(guān)更多信息,參見(jiàn)設(shè)計(jì)聯(lián)合數(shù)據(jù)庫(kù)服務(wù)器。(參照SQL幫助文件''分區(qū)視圖'')
a、在實(shí)現(xiàn)分區(qū)視圖之前,必須先水平分區(qū)表
b、 在創(chuàng)建成員表后,在每個(gè)成員服務(wù)器上定義一個(gè)分布式分區(qū)視圖,并且每個(gè)視圖具有相同的名稱。這樣,引用分布式分區(qū)視圖名的查詢可以在任何一個(gè)成員服務(wù)器上 運(yùn)行。系統(tǒng)操作如同每個(gè)成員服務(wù)器上都有一個(gè)原始表的復(fù)本一樣,但其實(shí)每個(gè)服務(wù)器上只有一個(gè)成員表和一個(gè)分布式分區(qū)視圖。數(shù)據(jù)的位置對(duì)應(yīng)用程序是透明的。
11、重建索引 DBCC REINDEX ,DBCC INDEXDEFRAG,收縮數(shù)據(jù)和日志 DBCC SHRINKDB,DBCC SHRINKFILE. 設(shè)置自動(dòng)收縮日志.對(duì)于大的數(shù)據(jù)庫(kù)不要設(shè)置數(shù)據(jù)庫(kù)自動(dòng)增長(zhǎng),它會(huì)降低服務(wù)器的性能。
在T-sql的寫法上有很大的講究,下面列出常見(jiàn)的要點(diǎn):首先,DBMS處理查詢計(jì)劃的過(guò)程是這樣的:
1、 查詢語(yǔ)句的詞法、語(yǔ)法檢查
2、 將語(yǔ)句提交給DBMS的查詢優(yōu)化器
3、 優(yōu)化器做代數(shù)優(yōu)化和存取路徑的優(yōu)化
4、 由預(yù)編譯模塊生成查詢規(guī)劃
5、 然后在合適的時(shí)間提交給系統(tǒng)處理執(zhí)行
6、 最后將執(zhí)行結(jié)果返回給用戶。
其次,看一下SQL SERVER的數(shù)據(jù)存放的結(jié)構(gòu):一個(gè)頁(yè)面的大小為8K(8060)字節(jié),8個(gè)頁(yè)面為一個(gè)盤區(qū),按照B樹(shù)存放。
網(wǎng)頁(yè)題目:sqlserver缺陷,sql server的缺點(diǎn)
本文來(lái)源:http://chinadenli.net/article1/dsessid.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、網(wǎng)站建設(shè)、微信小程序、建站公司、商城網(wǎng)站、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
營(yíng)銷型網(wǎng)站建設(shè)知識(shí)