SQLServer資料表分區最佳化資料庫

來源:互聯網
上載者:User
你是不是也在苦苦尋求最佳化自己的SQL Server資料庫的方法?如果你的資料庫裡有不少非常大的表格,資料分割函數能夠幫到你很大的忙,因為它可以把這些大表格分割成獨立檔案組。這個技術可以讓你把資料分布在不同的物理磁碟中,並通過調節它們的並行效能來最佳化你的查詢效能。

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

1)建立分區函數

2)建立資料分割配置

3)對錶格進行分區

分區函數定義how,即你想要SQL Server如何對資料進行分區。這裡就不以某一個表格作為例子,而是總體概括分割資料的技術。

分區是通過指定每個分區的分割界線實現的。例如,假定我們有一個Customers表格,裡麵包含了企業所有的客戶的資訊,客戶資訊以唯一的客戶號進行辨識,客戶號從1到1000000。我們可以運用以下的分區函數(這裡稱之為customer_Partfunc)把這個表格平均分為四個分區:

CREATE  PARTITION  FUNCTION  customer_partfunc(int)

AS  RANGE  RIGHT

FOR   VALUES(250000,500000,750000)

這些分割界線指定了四個分區。第一個分區包含所有值小於250000的記錄。第二個分區包含所有值在250000和499999之間的記錄。而第三個分區包含所有值在500000和749999之間的記錄。其他所有大於或等於750000的記錄都包含在第四個分區裡。

注意這個例子中使用了“RANGE RIGHT”從句。這說明分界值是在分區的右邊。同樣,如果使用的是“RANGE LEFT”從句,那麼第一個分區就會包含所有值小於或等於250000的記錄;第二個分區就會包含所有值在250001和500000之間的記錄,如此類推。

一旦建立完定義如何對資料進行分區的分區函數之後,下一步就是建立一個資料分割配置,定義where,即你想在哪裡對資料進行分區。這是一個很直接明了的過程,例如,如果我有四個檔案組,名稱分別從“fg1”到“fg4”,那麼就可以使用以下資料分割配置:

CREATE PARTITION   SCHEME  customer_partscheme

AS  PARTITION  customer_partfunc

TO(fg1,fg2,fg3,fg4)

注意我們現在把一個分區函數串連到了資料分割配置,但是我們還沒有把資料分割配置串連到任何具體的資料庫表格。這就是重複使用功能發揮功能的時候。我們可以通過這個功能把資料分割配置(或者只是分區函數)用於資料庫表格的任何資料上。

建立好資料分割配置之後,就可以開始對錶格進行分區了。這是最簡單的一個步驟,只需要在表格建立語句中添加“ON”從句,指定表格資料分割配置和要應用該資料分割配置的表列。你不需要指定分區函數,因為資料分割配置已經定義了分區函數。

舉個例子,假設你想要用上述的資料分割配置來建立一個客戶表格,你需要使用以下Transact-SQL語句:

CREATE  TABLE  customers(FirstNamenvarchar(40),LastNamenvarchar(40),CustomerNumberint)

ON  customer_partscheme(CustomerNumber)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.