資源描述:
《sql server優(yōu)化 _物理設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Sqlserver優(yōu)化_物理設(shè)計一個數(shù)據(jù)庫系統(tǒng)的性能依賴于組成這些系統(tǒng)的數(shù)據(jù)庫中物理設(shè)計結(jié)構(gòu)的有效配置。這些物理設(shè)計結(jié)構(gòu)包括索引、聚集索引、索引視圖和分區(qū)等,其目的在于提高數(shù)據(jù)庫的性能和可管理性。SQLServer2005提供了一套綜合的工具,用于優(yōu)化物理數(shù)據(jù)庫的設(shè)計,其中數(shù)據(jù)庫引擎優(yōu)化顧問,是分析一個或多個數(shù)據(jù)庫上工作負荷(對要做出化的數(shù)據(jù)庫招待的一組T-SQL語名句)的性能效果的工具。???????文件和文件組SQLServer2005將數(shù)據(jù)庫映射為一組操作系統(tǒng)文件。數(shù)據(jù)和日志信息絕不混合在同一個文件中,而且一個文件只由一個數(shù)據(jù)庫使用。文件組是文件的命名集合,
2、用于簡化數(shù)據(jù)存放和管理任務(wù)(例如,備份和還原操作)。有關(guān)詳細信息,請參閱物理數(shù)據(jù)庫文件和文件組。?????文件和文件組填充策略文件組對組內(nèi)的所有文件都使用按比例填充策略。當(dāng)數(shù)據(jù)寫入文件組時,SQLServer數(shù)據(jù)庫引擎按文件中的可用空間比例將數(shù)據(jù)寫入文件組中的每個文件,而不是將所有數(shù)據(jù)都寫入第一個文件直至其變滿為止。然后再寫入下一個文件。例如,如果文件f1有100MB可用空間,文件f2有200MB可用空間,則從文件f1中分配一個區(qū),從文件f2中分配兩個區(qū),依此類推。這樣,兩個文件幾乎同時填滿,并且可獲得簡單的條帶化。假定將數(shù)據(jù)庫設(shè)置為自動增長,則當(dāng)文件組中的所有文
3、件填滿后,數(shù)據(jù)庫引擎便會采用循環(huán)方式一次自動擴展一個文件以容納更多數(shù)據(jù)。例如,某個文件組由三個文件組成,它們都設(shè)置為自動增長。當(dāng)文件組中所有文件的空間都已用完時,只擴展第一個文件。當(dāng)?shù)谝粋€文件已滿,無法再向文件組中寫入更多數(shù)據(jù)時,將擴展第二個文件。當(dāng)?shù)诙€文件已滿,無法再向文件組中寫入更多數(shù)據(jù)時,將擴展第三個文件。當(dāng)?shù)谌齻€文件已滿,無法再向文件組中寫入更多數(shù)據(jù)時,將再次擴展第一個文件,依此類推。?????改善數(shù)據(jù)庫性能使用文件和文件組可以改善數(shù)據(jù)庫的性能,因為這樣允許跨多個磁盤、多個磁盤控制器或RAID(獨立磁盤冗余陣列)系統(tǒng)創(chuàng)建數(shù)據(jù)庫。例如,如果計算機上有四個磁
4、盤,那么可以創(chuàng)建一個由三個數(shù)據(jù)文件和一個日志文件組成的數(shù)據(jù)庫,每個磁盤上放置一個文件。在對數(shù)據(jù)進行訪問時,四個讀/寫磁頭可以同時并行地訪問數(shù)據(jù)。這樣可以加快數(shù)據(jù)庫操作的速度。有關(guān)硬件解決方案的詳細信息,請參閱數(shù)據(jù)庫性能。另外,文件和文件組還允許數(shù)據(jù)布局,因為可以在特定的文件組中創(chuàng)建表。這樣可以改善性能,因為可以將特定表的所有I/O都定向到一個特定的磁盤。例如,可以將最常用的表放在一個文件組的一個文件中,該文件組位于一個磁盤上;而將數(shù)據(jù)庫中其他不常訪問的表放在另一個文件組的其他文件中,該文件組位于第二個磁盤上。?????實現(xiàn)備份和還原策略在SQLServer2005
5、中,可以通過稱為段落還原的進程分階段還原由多個文件組組成的數(shù)據(jù)庫。段落還原適用于所有恢復(fù)模式,但在完整恢復(fù)模式和大容量日志恢復(fù)模式下比在簡單恢復(fù)模式下更靈活。段落還原方案包括還原的全部三個階段:數(shù)據(jù)復(fù)制、重做或前滾以及撤消或后滾。有關(guān)詳細信息,請參閱執(zhí)行段落還原。當(dāng)使用多個文件組時,可以分別備份和還原數(shù)據(jù)庫中的文件。在簡單恢復(fù)模式下,只能對只讀文件進行文件備份。使用文件備份使您能夠只還原損壞的文件,而不用還原數(shù)據(jù)庫的其余部分,從而加快了恢復(fù)速度。例如,如果一個數(shù)據(jù)庫由幾個分別位于不同的物理磁盤上的文件組成,當(dāng)其中一個磁盤發(fā)生故障時,只需還原發(fā)生故障的磁盤上的文件。
6、有關(guān)詳細信息,請參閱BACKUP(Transact-SQL)。?????文件和文件組的設(shè)計規(guī)則下列規(guī)則適用于文件和文件組:ü????????一個文件或文件組不能由多個數(shù)據(jù)庫使用。例如,任何其他數(shù)據(jù)庫都不能使用包含sales數(shù)據(jù)庫中的數(shù)據(jù)和對象的文件sales.mdf和sales.ndf。ü????????一個文件只能是一個文件組的成員。ü????????事務(wù)日志文件不能屬于任何文件組。?????使用文件和文件組時的一些一般建議:ü????????大多數(shù)數(shù)據(jù)庫在只有單個數(shù)據(jù)文件和單個事務(wù)日志文件的情況下性能良好。ü????????如果使用多個文件,請為附加文件創(chuàng)建第
7、二個文件組,并將其設(shè)置為默認文件組。這樣,主文件將只包含系統(tǒng)表和對象。ü????????若要使性能最大化,請在盡可能多的不同的可用本地物理磁盤上創(chuàng)建文件或文件組。將爭奪空間最激烈的對象置于不同的文件組中。ü????????使用文件組將對象放置在特定的物理磁盤上。ü????????將在同一聯(lián)接查詢中使用的不同表置于不同的文件組中。由于采用并行磁盤I/O對聯(lián)接數(shù)據(jù)進行搜索,所以性能將得以改善。ü????????將最常訪問的表和屬于這些表的非聚集索引置于不同的文件組中。如果文件位于不同的物理磁盤上,由于采用并行I/O,所以性能將得以改善。ü????????請勿將事務(wù)日志
8、文件置于其