sql server2005 分區表 分區函數 分區架構

   sql server2005 分區表  分區函數  分區架構


        優化SQL Server 數據庫的性能----如果你的數據庫中含有大量的表格,把這些表格分區放入獨立的文件組可能會讓你受益匪淺。SQL Server 2005引入的表分區技術,讓用戶能夠把數據分散存放到不同的物理磁盤中,提高這些磁盤的並行處理性能以優化查詢性能。

      我一般的做法是: 每個分區的的文件放在不同的文件組中

      

  SQL Server數據庫表分區操作過程如下:

  1. 創建分區函數

  2. 創建分區架構

  3. 對錶進行分區

  

    1:創建一個分區函數

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

  我們可以通過指定每個分區的邊界條件來定義分區。假定我們有個表,其中包含了關於很多信息,以一一對應的id編號(從1到1,000,000)來區分。我們將通過以下的分區函數把這個表分爲四個大小相同的分區:  

  CREATE   PARTITION FUNCTION cc_par(int)
  AS RANGE RIGHT
  FORVALUES(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之間,以此類推。

  2:創建一個分區架構

  一旦給出描述如何分割數據的分區函數,接着就要創建一個分區架構,用來定義分區位置([u]where[/u])。創建過程非常直截了當,只要將分區連接到指定的文件組就行了。例如,如果有四個文件組,組名從"fg1"到"fg4",那麼以下的分區架構就能達到想要的效果:  

CREATE PARTITION SCHEME cc_scheme
  
     AS PARTITION cc_par
  
    TO(fq1,fq2,fq3,fq4)

  注意,這裏將一個分區函數連接到了該分區架構,但並沒有將分區架構連接到任何數據表。這就是可複用性起作用的地方了。無論有多少數據庫表,我們都可以使用該分區架構(或僅僅是分區函數)。

  3:對一個表進行分區

  定義好一個分區架構後,就可以着手創建一個分區表了。這是整個分區操作過程中最簡單的一個步驟。只需要在表創建指令中添加一個"ON"語句,用來指定分區架構以及應用該架構的表列。因爲分區架構已經識別了分區函數,所以不需要再指定分區函數了。

  例如,使用以上的分區架構創建表,可以調用以下的Transact-SQL指令:  

  create table  cc_p_table(a1 varchar(40),a1 varchar(40),id int)  on cc_scheme(id);

  關於SQL Server的表分區功能,上述的相關知識就足夠了。編寫能夠用於多個表的一般的分區函數和分區架構就能夠大大提高可複用性。



   。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。


 的確 很懶,排版不好 和敘述不清楚的地方忘見諒   。。。。我只是想記錄一下   下次用更方便。。。。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章