成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server優(yōu)化的步驟與要考慮的問題

數(shù)據(jù)庫 SQL Server
我們今天主要是想大家講述的是實現(xiàn)SQL Server優(yōu)化的實際步驟,還有在實際操作中我們必須要考慮的問題的描述。

此文章主要向大家講述的是SQL Server優(yōu)化的實際步驟,以及在對SQL Server數(shù)據(jù)庫進行優(yōu)化的實際操作過程中值得我們注意的問題的具體描述,在實際操作中設(shè)計1個應(yīng)用系統(tǒng)似乎并不難,但是要想使系統(tǒng)達(dá)到最優(yōu)化的性能并不是一件容易的事。

在開發(fā)工具、數(shù)據(jù)庫設(shè)計、應(yīng)用程序的結(jié)構(gòu)、查詢設(shè)計、接口選擇等方面有多種選擇,這取決于特定的應(yīng)用需求以及開發(fā)隊伍的技能。本文以SQL Server優(yōu)化為例,從后臺數(shù)據(jù)庫的角度討論應(yīng)用程序性能優(yōu)化技巧,并且給出了一些有益的建議。

 

1 數(shù)據(jù)庫設(shè)計

要在良好的SQL Server方案中實現(xiàn)最優(yōu)的性能,最關(guān)鍵的是要有1個很好的數(shù)據(jù)庫設(shè)計方案。在實際工作中,許多SQL Server方案往往是由于數(shù)據(jù)庫設(shè)計得不好導(dǎo)致性能很差。所以,要實現(xiàn)良好的數(shù)據(jù)庫設(shè)計就必須考慮這些問題。

1.1 邏輯庫規(guī)范化問題

一般來說,邏輯數(shù)據(jù)庫設(shè)計會滿足規(guī)范化的前3級標(biāo)準(zhǔn):

1.第1規(guī)范:沒有重復(fù)的組或多值的列。

2.第2規(guī)范:每個非關(guān)鍵字段必須依賴于主關(guān)鍵字,不能依賴于1個組合式主關(guān)鍵字的某些組成部分。

3.第3規(guī)范:1個非關(guān)鍵字段不能依賴于另1個非關(guān)鍵字段。

遵守這些規(guī)則的設(shè)計會產(chǎn)生較少的列和更多的表,因而也就減少了數(shù)據(jù)冗余,也減少了用于存儲數(shù)據(jù)的頁。但表關(guān)系也許需要通過復(fù)雜的合并來處理,這樣會降低系統(tǒng)的性能。某種程度上的非規(guī)范化可以改善系統(tǒng)的性能,非規(guī)范化過程可以根據(jù)性能方面不同的考慮用多種不同的方法進行,但以下方法經(jīng)實踐驗證往往能提高性能。

1.如果規(guī)范化設(shè)計產(chǎn)生了許多4路或更多路合并關(guān)系,就可以考慮在數(shù)據(jù)庫實體(表)中加入重復(fù)屬性(列)。

2.常用的計算字段(如總計、最大值等)可以考慮存儲到數(shù)據(jù)庫實體中。

比如某一個項目的計劃管理系統(tǒng)中有計劃表,其字段為:項目編號、年初計劃、二次計劃、調(diào)整計劃、補列計劃…,而計劃總數(shù)(年初計劃+二次計劃+調(diào)整計劃+補列計劃)是用戶經(jīng)常需要在查詢和報表中用到的,在表的記錄量很大時,有必要把計劃總數(shù)作為1個獨立的字段加入到表中。這里可以采用觸發(fā)器以在客戶端保持?jǐn)?shù)據(jù)的一致性。

3.重新定義實體以減少外部屬性數(shù)據(jù)或行數(shù)據(jù)的開支。相應(yīng)的非規(guī)范化類型是:

(1)把1個實體(表)分割成2個表(把所有的屬性分成2組)。這樣就把頻繁被訪問的數(shù)據(jù)同較少被訪問的數(shù)據(jù)分開了。這種方法要求在每個表中復(fù)制首要關(guān)鍵字。這樣產(chǎn)生的設(shè)計有利于并行處理,并將產(chǎn)生列數(shù)較少的表。

(2)把1個實體(表)分割成2個表(把所有的行分成2組)。這種方法適用于那些將包含大量數(shù)據(jù)的實體(表)。在應(yīng)用中常要保留歷史記錄,但是歷史記錄很少用到。因此可以把頻繁被訪問的數(shù)據(jù)同較少被訪問的歷史數(shù)據(jù)分開。而且如果數(shù)據(jù)行是作為子集被邏輯工作組(部門、銷售分區(qū)、地理區(qū)域等)訪問的,那么這種方法也是很有好處的。

1.2 生成物理數(shù)據(jù)庫

要想正確選擇基本物理實現(xiàn)策略,必須懂得數(shù)據(jù)庫訪問格式和硬件資源的操作特點,主要是內(nèi)存和磁盤子系統(tǒng)I/O。這是一個范圍廣泛的話題,但以下的準(zhǔn)則可能會有所幫助。

1.與每個表列相關(guān)的數(shù)據(jù)類型應(yīng)該反映數(shù)據(jù)所需的最小存儲空間,特別是對于被索引的列更是如此。比如能使用smallint類型就不要用integer類型,這樣索引字段可以被更快地讀取,而且可以在1個數(shù)據(jù)頁上放置更多的數(shù)據(jù)行,因而也就減少了I/O操作。

2.把1個表放在某個物理設(shè)備上,再通過SQL Server優(yōu)化段把它的不分簇索引放在1個不同的物理設(shè)備上,這樣能提高性能。尤其是系統(tǒng)采用了多個智能型磁盤控制器和數(shù)據(jù)分離技術(shù)的情況下,這樣做的好處更加明顯。

3.用SQL Server段把一個頻繁使用的大表分割開,并放在2個單獨的智能型磁盤控制器的數(shù)據(jù)庫設(shè)備上,這樣也可以提高性能。因為有多個磁頭在查找,所以數(shù)據(jù)分離也能提高性能。

4.用SQL Server段把文本或圖像列的數(shù)據(jù)存放在1個單獨的物理設(shè)備上可以提高性能。1個專用的智能型的控制器能進一步提高性能。

2 與SQL Server相關(guān)的硬件系統(tǒng)

與SQL Server有關(guān)的硬件設(shè)計包括系統(tǒng)處理器、內(nèi)存、磁盤子系統(tǒng)和網(wǎng)絡(luò),這4個部分基本上構(gòu)成了硬件平臺,Windows NT和SQL Server運行于其上。

2.1 系統(tǒng)處理器(CPU)

根據(jù)自己的具體需要確定CPU結(jié)構(gòu)的過程就是估計在硬件平臺上占用CPU的工作量的過程。從以往的經(jīng)驗看,CPU配置最少應(yīng)是1個80586/100處理器。如果只有2~3個用戶,這就足夠了,但如果打算支持更多的用戶和關(guān)鍵應(yīng)用,推薦采用Pentium Pro或PⅡ級CPU。

2.2 內(nèi)存(RAM)

為SQL Server方案確定合適的內(nèi)存設(shè)置對于實現(xiàn)良好的性能是至關(guān)重要的。SQL Server用內(nèi)存做過程緩存、數(shù)據(jù)和索引項緩存、靜態(tài)服務(wù)器開支和設(shè)置開支。SQL Server最多能利用2GB虛擬內(nèi)存,這也是最大的設(shè)置值。還有一點必須考慮的是Windows NT和它的所有相關(guān)的服務(wù)也要占用內(nèi)存。

Windows NT為每個WIN32應(yīng)用程序提供了4GB的虛擬地址空間。這個虛擬地址空間由Windows NT虛擬內(nèi)存管理器(VMM)映射到物理內(nèi)存上,在某些硬件平臺上可以達(dá)到4GB。SQL Server應(yīng)用程序只知道虛擬地址,所以不能直接訪問物理內(nèi)存,這個訪問是由VMM控制的。Windows NT允許產(chǎn)生超出可用的物理內(nèi)存的虛擬地址空間,這樣當(dāng)給SQL Server分配的虛擬內(nèi)存多于可用的物理內(nèi)存時,會降低SQL Server優(yōu)化的性能。

這些地址空間是專門為SQL Server系統(tǒng)設(shè)置的,所以如果在同一硬件平臺上還有其它軟件(如文件和打印共享,應(yīng)用程序服務(wù)等)在運行,那么應(yīng)該考慮到它們也占用一部分內(nèi)存。一般來說硬件平臺至少要配置32MB的內(nèi)存,其中,Windows NT至少要占用16MB。1個簡單的法則是,給每一個并發(fā)的用戶增加100KB的內(nèi)存。例如,如果有100個并發(fā)的用戶,則至少需要32MB+100用戶*100KB=42MB內(nèi)存,實際的使用數(shù)量還需要根據(jù)運行的實際情況調(diào)整。可以說,提高內(nèi)存是提高系統(tǒng)性能的最經(jīng)濟的途徑。

2.3 磁盤子系統(tǒng)

設(shè)計1個好的磁盤I/O系統(tǒng)是實現(xiàn)良好的SQL Server優(yōu)化方案的一個很重要的方面。這里討論的磁盤子系統(tǒng)至少有1個磁盤控制設(shè)備和1個或多個硬盤單元,還有對磁盤設(shè)置和文件系統(tǒng)的考慮。智能型SCSI-2磁盤控制器或磁盤組控制器是不錯的選擇,其特點如下:

(1)控制器高速緩存。

(2)總線主板上有處理器,可以減少對系統(tǒng)CPU的中斷。

(3)異步讀寫支持。

(4)32位RAID支持。

(5)快速SCSI—2驅(qū)動。

(6)超前讀高速緩存(至少1個磁道)。

3 檢索策略

在精心選擇了硬件平臺,又實現(xiàn)了1個良好的數(shù)據(jù)庫方案,并且具備了用戶需求和應(yīng)用方面的知識后,現(xiàn)在應(yīng)該設(shè)計查詢和索引了。有2個方面對于在SQL Server上取得良好的查詢和索引性能是十分重要的,第1是根據(jù)SQL Server優(yōu)化器方面的知識生成查詢和索引;第2是利用SQL Server優(yōu)化的性能特點,加強數(shù)據(jù)訪問操作。

3.1 SQL Server優(yōu)化器

Microsoft SQL Server數(shù)據(jù)庫內(nèi)核用1個基于費用的查詢優(yōu)化器自動優(yōu)化向SQL提交的數(shù)據(jù)查詢操作。數(shù)據(jù)操作查詢是指支持SQL關(guān)鍵字WHERE或HAVING的查詢,如SELECT、DELETE和UPDATE。基于費用的查詢優(yōu)化器根據(jù)統(tǒng)計信息產(chǎn)生子句的費用估算。

了解優(yōu)化器數(shù)據(jù)處理過程的簡單方法是檢測SHOWPLAN命令的輸出結(jié)果。如果用基于字符的工具(例如isql),可以通過鍵入SHOW SHOWPLAN ON來得到SHOWPLAN命令的輸出。如果使用圖形化查詢,比如SQL Enterprise Manager中的查詢工具或isql/w,可以設(shè)定配置選項來提供這一信息。

【編輯推薦】

  1. SQL Server 2000全文檢索的使用方案描述
  2. SQL Server 2005數(shù)據(jù)庫安裝實例演示
  3. SQL Server Compact中的DLL文件與工具
  4. SQL Server 2005 Express混合模式登錄的設(shè)置
  5. SQL Server合并復(fù)制性能的提高有哪些方案?
責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2010-07-16 13:14:39

SQL Server

2009-03-03 16:52:52

OracleSQLServer比較

2010-06-17 10:23:38

SQL Server服

2010-07-16 11:19:35

SQL Server數(shù)

2010-06-30 14:15:08

SQL Server死

2010-07-15 08:50:11

2019-04-14 17:23:34

災(zāi)難恢復(fù)備份數(shù)據(jù)安全

2010-07-26 13:33:28

SQL Server

2010-07-23 09:15:08

安裝SQL Serve

2016-10-28 15:58:54

機房建設(shè)數(shù)據(jù)中心

2022-05-26 15:32:40

數(shù)據(jù)庫數(shù)據(jù)庫系統(tǒng)

2010-07-06 14:06:52

SQL Server存

2015-07-03 13:18:20

云端災(zāi)備云容災(zāi)虛擬備份

2017-08-31 14:09:26

數(shù)據(jù)庫MySQLSQL優(yōu)化

2010-07-15 16:42:32

數(shù)據(jù)庫引擎

2010-07-23 09:44:51

2010-06-29 09:56:00

SQL Server查

2010-09-25 10:05:25

sql server主

2010-07-01 14:23:25

SQL Server查

2010-11-10 10:09:40

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久久久久国产 | 91pao对白在线播放 | 国产视频亚洲视频 | 欧美aⅴ| 国产精品色 | 91麻豆精品国产91久久久更新资源速度超快 | 在线观看日韩av | 亚洲精品视频一区 | 欧美日韩高清 | 综合国产| 精品欧美一区二区三区久久久 | 久久亚洲综合 | 美国a级毛片免费视频 | 亚洲国产精品自拍 | 九九久久久 | 精品一区二区三区91 | 精品99久久久久久 | 久久精品一区二区三区四区 | 精品美女视频在线观看免费软件 | 欧美乱淫视频 | 成人免费网站www网站高清 | 国产一区二区三区www | 日韩成人免费视频 | 日韩国产欧美一区 | 久久久久91| 欧洲一区二区视频 | 午夜一级做a爰片久久毛片 精品综合 | 国产免费观看一级国产 | 婷婷色婷婷| 精品一区二区视频 | 日韩在线中文 | 天堂av中文 | 中文字幕第100页 | 97精品久久| 成人免费在线 | 91性高湖久久久久久久久_久久99 | 99精品久久久国产一区二区三 | 国产精品久久久久久久久久久久久 | 国产一级一级 | 91成人在线视频 | 日韩电影免费在线观看中文字幕 |