SQL Server表分區詳解

jopen 11年前發布 | 83K 次閱讀 SQL Server 數據庫服務器

        分區請三思:

        1、雖然分區可以帶來眾多的好處,但是同時也增加了實現對象的管理費用和復雜性。因此在進行分區之前要首先仔細的考慮以確定是否應為對象進行分區。

        2、在確定了為對象進行分區后,下一步就要確定分區鍵和分區數。要確定分區數據,應先評估您的數據中是否存在邏輯分組和模式。

        3、確定是否應使用多個文件分組。為了有助于優化性能和維護,應使用文件組分離數據。文件組是數據庫數據文件的邏輯組合,它可以對數據文件進行管理和分配,以便提高數據庫文件的并發訪問效率。

        為了簡化操作,SQL Server 2008中為表分區提供了相關的操作。  

        操作的順序:
     1、先定義文件組
     2、指定哪些輔助數據庫文件屬于這個文件組
     3、將表放入到文件組中

        數據庫分文件組(指定磁盤):

        數據實際上是依附于表來存在的,我們將表放入到文件組中,而文件組是一個邏輯的概念,其實體是輔助數據庫文件(ndr),所以就等于將我們指定 的數據放入到了指定的輔助數據庫文件中,然后如果將這些輔助數據庫文件放入在不同的磁盤分區中,就可以最終實現有針對性的對相應的數據實現性能的優化。

SQL Server表分區詳解

        創建文件組時,定義不同的文件組名稱,可以有序地進行下一步表分區的分區映射文件組,如上圖(選擇數據庫,右鍵查看屬性圖)。

        一個水平分區表中有多個分區,每個分區對應一個文件組,這樣就產生了很多文件組,因此性能也會有所提升,包括I/O性能提升,因為所有分區可以 駐扎在一個不同的磁盤上。另一個好處是可以通過備份文件組單獨備份一個分區。此外,SQL Server數據庫引擎可以智能判斷哪個分區上存放了什么數據,如果不止一個分區被訪問,那么還可以借助多處理器實現并行數據檢索。這種設計也充分利用了 分區表的優勢。

        1、提高可伸縮性和可管理性:在SQL Server 2005中建立分區,改善大型表以及具有各種訪問模式的表的可伸縮性和可管理性。 

        2、提高性能

        3、只有將數據分區分到不同的磁盤上,才會有較大的提升。

        4、因為在運行涉及表間聯接的查詢時,多個磁頭可以同時讀取數據。

        對SQL Server數據表進行分區的過程分為三個步驟:

        1) 建立分區函數

        2) 建立分區方案

        3) 對表格進行分區

        步驟如下:

SQL Server表分區詳解

 SQL Server表分區詳解

SQL Server表分區詳解

 SQL Server表分區詳解

 SQL Server表分區詳解

SQL Server表分區詳解

SQL Server表分區詳解

來自:http://www.cnblogs.com/Fooo/archive/2011/01/25/1944395.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!