SQL server 分割槽表

mageqi發表於2008-07-25


在作專案建設的時候,也會考慮系統容量和壓力的問題,但還是沒有在系統維護過程中實際遇到系統效能問題時,所具有的切身體會。

而且對一個正在執行的系統進行效能調優,是蠻棘手而又複雜的事情,特別如果在系統建設沒有考慮一個良好的可擴充套件的架構時,那更加
是如履薄冰。
儘管我們平臺使用者的活躍度不是很高,但是作為業務支撐系統,其訂單、工單、賬單的資料量已經很大了,由於在系統設計的時候
沒有依據業務特色劃分資料部署關係,因此資料庫空間目前已經達到十幾G。因此資料庫效能出現了瓶頸。
儘管Oralce在很久以前就支援分割槽表,但是MS SQL Server 是在SQL Server 2005版本才支援分割槽表。
首先表分割槽有兩個層次級別,第一是依據不同的業務資料,即不同的資料表,依據其業務操作特色,部署到不同的檔案組。
第二是對一次資料增長很快的資料表,要考慮依據不同的關鍵資料值,進行分段儲存。這種情況就需要建立好分割槽函式、分割槽架構。
然後將資料表的部署方案影射到對應的分割槽架構上。
對一個新表進行分割槽部署是很容易的事情,但是對一個曾經沒有分佈部署的老資料表,要重新給他進行分割槽就顯得稍為複雜些。
步驟如下:
1 備份原有資料
2 刪除要重新部署的表
3 按照新的分割槽方案重新建立分表
4 將原有資料倒入新建的表
5 刪除備份資料
而對一個已經分割槽部署的表來說,隨著時間的增長,其分割槽架構也是要進行動態變更的。
比如在分割槽架構中新加一個分割槽,這就需要更改分割槽函式、分割槽架構。
--更改分割槽函式
--一個分割槽拆分為兩個分割槽
ALTER PARTITION FUNCTION ExBillHisPF ()SPLIT RANGE (200912);
-- 新增檔案組:
ALTER DATABASE [ASPBAP] ADD FILEGROUP [ExBillHisFG5] --歷史資料分割槽5
ALTER DATABASE [ASPBAP] ADD FILE ( NAME = N'ExBillHis5', FILENAME = N'C:DBFileHisExBillHis5.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [ExBillHisFG5]
--更改分割槽架構 向分割槽方案中新增檔案組或更改分割槽方案中 NEXT USED 檔案組的指定
ALTER PARTITION SCHEME ExBillHisPS NEXT USED [ExBillHisFG5];

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/523892/viewspace-1007810/,如需轉載,請註明出處,否則將追究法律責任。

相關文章