本文介紹優(yōu)化SQL Server數(shù)據(jù)庫的方法 :
1、把數(shù)據(jù)、日志、索引放到不同的I/O設(shè)備上,增加讀取速度,以前可以將Tempdb應(yīng)放在RAID0上,SQL2000不在支持。數(shù)據(jù)量(尺寸)越大,提高I/O越重要.
2、縱向、橫向分割表,減少表的尺寸(sp_spaceuse)
3、升級硬件
4、根據(jù)查詢條件,建立索引,優(yōu)化索引、優(yōu)化訪問方式,限制結(jié)果集的數(shù)據(jù)量。注意填充因子要適當(最好是使用默認值0)。索引應(yīng)該盡量小,使用字節(jié)數(shù)小的列建索引好(參照索引的創(chuàng)建),不要對有限的幾個值的字段建單一索引如性別字段
5、提高網(wǎng)速;
6、擴大服務(wù)器的內(nèi)存,Windows 2000和SQL server 2000能支持4-8G的內(nèi)存。配置虛擬內(nèi)存:虛擬內(nèi)存大小應(yīng)基于計算機上并發(fā)運行的服務(wù)進行配置。運行 Microsoft SQL Server? 2000 時,可考慮將虛擬內(nèi)存大小設(shè)置為計算機中安裝的物理內(nèi)存的 1.5 倍。如果另外安裝了全文檢索功能,并打算運行 Microsoft 搜索服務(wù)以便執(zhí)行全文索引和查詢,可考慮:將虛擬內(nèi)存大小配置為至少是計算機中安裝的物理內(nèi)存的 3 倍。將 SQL Server max server memory 服務(wù)器配置選項配置為物理內(nèi)存的 1.5 倍(虛擬內(nèi)存大小設(shè)置的一半)。
7、增加服務(wù)器 CPU個數(shù); 但是必須明白并行處理串行處理更需要資源例如內(nèi)存。使用并行還是串行程是MsSQL自動評估選擇的。單個任務(wù)分解成多個任務(wù),就可以在處理器上運行。例如耽擱查詢的排序、連接、掃描和GROUP BY字句同時執(zhí)行,SQL SERVER根據(jù)系統(tǒng)的負載情況決定最優(yōu)的并行等級,復(fù)雜的需要消耗大量的CPU的查詢最適合并行處理。但是更新操作Update,Insert, Delete還不能并行處理。
8、如果是使用like進行查詢的話,簡單的使用index是不行的,但是全文索引,耗空間。 like 'a%' 使用索引 like '%a' 不使用索引用 like '%a%' 查詢時,查詢耗時和字段值總長度成正比,所以不能用CHAR類型,而是VARCHAR。對于字段的值很長的建全文索引。
9、DB Server 和APPLication Server 分離;OLTP和OLAP分離
10、分布式分區(qū)視圖可用于實現(xiàn)數(shù)據(jù)庫服務(wù)器聯(lián)合體。聯(lián)合體是一組分開管理的服務(wù)器,但它們相互協(xié)作分擔系統(tǒng)的處理負荷。這種通過分區(qū)數(shù)據(jù)形成數(shù)據(jù)庫服務(wù)器聯(lián)合體的機制能夠擴大一組服務(wù)器,以支持大型的多層 Web 站點的處理需要。有關(guān)更多信息,參見設(shè)計聯(lián)合數(shù)據(jù)庫服務(wù)器。(參照SQL幫助文件'分區(qū)視圖')
a、在實現(xiàn)分區(qū)視圖之前,必須先水平分區(qū)表
b、在創(chuàng)建成員表后,在每個成員服務(wù)器上定義一個分布式分區(qū)視圖,并且每個視圖具有相同的名稱。這樣,引用分布式分區(qū)視圖名的查詢可以在任何一個成員服務(wù)器上運行。系統(tǒng)操作如同每個成員服務(wù)器上都有一個原始表的復(fù)本一樣,但其實每個服務(wù)器上只有一個成員表和一個分布式分區(qū)視圖。數(shù)據(jù)的位置對應(yīng)用程序是透明的。
11、重建索引 DBCC REINDEX ,DBCC INDEXDEFRAG,收縮數(shù)據(jù)和日志 DBCC SHRINKDB,DBCC SHRINKFILE. 設(shè)置自動收縮日志.對于大的數(shù)據(jù)庫不要設(shè)置數(shù)據(jù)庫自動增長,它會降低服務(wù)器的性能。在T-sql的寫法上有很大的講究,下面列出常見的要點:首先, DBMS處理查詢計劃的過程是這樣的:
1、 查詢語句的詞法、語法檢查
2、 將語句提交給DBMS的查詢優(yōu)化器
3、 優(yōu)化器做代數(shù)優(yōu)化和存取路徑的優(yōu)化
4、 由預(yù)編譯模塊生成查詢規(guī)劃
5、 然后在合適的時間提交給系統(tǒng)處理執(zhí)行
6、 最后將執(zhí)行結(jié)果返回給用戶其次,看一下SQL SERVER的數(shù)據(jù)存放的結(jié)構(gòu):一個頁面的大小為8K(8060)字節(jié),8個頁面為一個盤區(qū),按照B樹存放。
1.在上文中我們提到,企業(yè)用戶可以使用應(yīng)用程序虛擬化將安裝在服務(wù)器中的應(yīng)用程序以數(shù)據(jù)流的形式傳輸至終端員工PC機上使用。同樣的,如果企業(yè)用戶已經(jīng)實施虛擬桌面系統(tǒng)架構(gòu)或虛擬會議架構(gòu),在終端員工PC機的虛擬操作系統(tǒng)桌面下,也可以利用應(yīng)用程序虛擬化調(diào)用安裝在服務(wù)器上的應(yīng)用程序。舉例來說,企業(yè)用戶的終端員工PC機可以實現(xiàn)虛擬操作系統(tǒng)下的虛擬Office應(yīng)用程序調(diào)用。這個過程為企業(yè)用戶虛擬化的綜合利用。
2.許多企業(yè)希望可以最大化的使用虛擬機制,以節(jié)省實際運營IT成本及方便IT部門對終端員工PC機的管理和控制。根據(jù)實際狀況的不同,部分企業(yè)用戶可能需要使用虛擬桌面基礎(chǔ)架構(gòu),部分企業(yè)用戶可能需要使用虛擬會議架構(gòu),而大部分企業(yè)用戶都可能需要使用虛擬應(yīng)用程序架構(gòu)等。當企業(yè)用戶在考慮實施虛擬化之前,應(yīng)當根據(jù)實際情況確定自身組織運營所需實施的虛擬化。舉例來說,如果企業(yè)用戶員工大部分都是用的是移動互聯(lián)網(wǎng)絡(luò),并且大部分時間都分布在不同的地位位置,則該企業(yè)用戶并不適合部署虛擬桌面基礎(chǔ)架構(gòu)和虛擬會議架構(gòu)。其主要原因在于這兩種虛擬架構(gòu)對網(wǎng)絡(luò)鏈接數(shù)據(jù)傳輸速度要求較高。
3.上文提到,在Windows 7 XP模式的虛擬化機制下,購買正版Windows 7操作系統(tǒng)后,用戶可以獲得免費的Windows XP操作系統(tǒng),并可將Windows XP操作系統(tǒng)安裝在虛擬機中。但Windows XP操作系統(tǒng)并不是同步安裝,用戶需要在http://www.microsoft.com/windows/virtual-pc/download.aspx網(wǎng)站上免費下載安裝在虛擬機上的Windows XP操作系統(tǒng)。
4.微軟桌面系統(tǒng)優(yōu)化包(MDOP)中帶有應(yīng)用程序虛擬化及微軟企業(yè)用戶桌面虛擬化應(yīng)用程序。
App-V and MED-V are a part of the Microsoft Desktop Optimization pack, known as MDOP
5.企業(yè)用戶可以通過購買微軟虛擬桌面基礎(chǔ)架構(gòu)套件獲得虛擬會議及虛擬桌面基礎(chǔ)架構(gòu)應(yīng)用程序。
6.如果企業(yè)用戶需要部署虛擬桌面基礎(chǔ)架構(gòu),不管該虛擬架構(gòu)產(chǎn)品是否屬于微軟產(chǎn)品,用戶在虛擬機上安裝的Windows操作系統(tǒng)都需要獲得微軟官方認證,即虛擬桌面訪問認證(VDA)。使用虛擬桌面訪問認證可以使得企業(yè)用戶員工在終端PC機上遠程訪問其他PC機,并可以在虛擬機制下最多使用四種不同的虛擬桌面。如果企業(yè)用戶需要部署虛擬會議架構(gòu),則需要獲得微軟官方RDS CALs認證。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |