SQL Server表分區操作詳解

            SQL Server 2005引入的表分區技術,讓用戶能夠把數據分散存放到不同的物理磁盤中,提高這些磁盤的并行處理性能以優化查詢性能……

            【IT專家網獨家】你是否在千方百計優化SQL Server 數據庫的性能?如果你的數據庫中含有大量的表格,把這些表格分區放入獨立的文件組可能會讓你受益匪淺。SQL Server 2005引入的表分區技術,讓用戶能夠把數據分散存放到不同的物理磁盤中,提高這些磁盤的并行處理性能以優化查詢性能。

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

            1. 創建分區函數

            2. 創建分區架構

            3. 對表進行分區

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

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

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

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

          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之間,以此類推。

            步驟二:創建一個分區架構

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

          CREATE PARTITION SCHEME customer_partscheme
            AS PARTITION customer_partfunc
            TO (fg1, fg2, fg3, fg4)

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

            步驟三:對一個表進行分區

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

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

          CREATE TABLE customers (FirstName nvarchar(40), LastName nvarchar(40), CustomerNumber int)
            ON customer_partscheme (CustomerNumber)

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

          posted on 2009-01-12 21:46 sanmao 閱讀(287) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 新疆| 汶上县| 杂多县| 新蔡县| 炉霍县| 吕梁市| 谢通门县| 乐安县| 福泉市| 景泰县| 内丘县| 开化县| 湖南省| 舞阳县| 普宁市| 常德市| 龙岩市| 淮北市| 特克斯县| 沿河| 武隆县| 延寿县| 灵川县| 江都市| 互助| 平昌县| 莱西市| 昌江| 永春县| 米林县| 贵溪市| 谢通门县| 来安县| 府谷县| 辽阳县| 洞口县| 金昌市| 孟连| 红桥区| 开鲁县| 康平县|