SqlServer表分區

來源:互聯網
上載者:User

你是否在千方百計最佳化SQL Server 資料庫的效能?如果你的資料庫中含有大量的表格,把這些表格分區放入獨立的檔案組可能會讓你受益匪淺。SQL Server 2005引入的表分區技術,讓使用者能夠把資料分散存放到不同的物理磁碟中,提高這些磁碟的平行處理效能以最佳化查詢效能。

  SQL Server資料庫表分區操作過程由三個步驟組成:

  1. 建立分區函數

  2. 建立分區架構

  3. 對錶進行分區

  下面將對每個步驟進行詳細介紹。

  步驟一:建立一個分區函數

  此分區函數用於定義你希望SQL Server如何對資料進行分區的參數值([u]how[/u])。這個操作並不涉及任何錶格,只是單純的定義了一項技術來分割資料。

  我們可以通過指定每個分區的邊界條件來定義分區。例如,假定我們有一份Customers表,其中包含了關於所有客戶的資訊,以一一對應的客戶編碼(從1到1,000,000)來區分。我們將通過以下的分區函數把這個表分為四個大小相同的分區:

分區建可以為:

 text、ntext、image、xml、timestamp、varchar(max)、nvarchar(max)、varbinary(max)、別名資料類型或 CLR 使用者定義資料類型外,所有資料類型均有效。

CREATE PARTITION FUNCTION customer_partfunc (int)
  AS RANGE RIGHT
  FOR VALUES (250000, 500000, 750000)

這些邊界值定義了四個分區。第一個分區包括所有值小於250,000的資料,第二個分區包括值在250,000到49,999之間的資料。第三個分區包括值在500,000到7499,999之間的資料。所有值大於或等於750,000的資料被歸入第四個分區。

請注意,這裡調用的"RANGE RIGHT"語句表明每個分區邊界值是右界。類似的,如果使用"RANGE LEFT"語句,則上述第一個分區應該包括所有值小於或等於250,000的資料,第二個分區的資料值在250,001到500,000之間,以此類推。

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.