直接上步驟:
1)新建一個數(shù)據(jù)庫
2)添加幾個文件組
3)回到“常規(guī)”選項卡,添加數(shù)據(jù)庫文件
看到用紅色框框起來的地方沒?上一步中建立的文件組在這里就用上了。再看后面的路徑,我把每一個文件都單獨放在不同的磁盤上,而且最好都是單獨的放在不同的物理盤上,這樣會大大提高數(shù)據(jù)的性能。 點擊“確定”數(shù)據(jù)庫就算創(chuàng)建完成了。
4)接下來要做的是建立一個分區(qū)行數(shù),SQL語句如下:大家學習的時候最好不要直接COPY,動手把它抄一遍也好。
create partition function PartFuncForExample(Datetime)
as Range Right for Value('20000101','20010101','20020101','20030101')
這里我準備用表中的某個時間字段作為分區(qū)的條件,當然你也可以用其他的,比如INT之類,只要好分段的都可以。
這里注意 Right 關鍵字,意思就是當記錄的時間(在下面會被指到表的某個字段)大于等于20000101的時候,數(shù)據(jù)會被分到下一個區(qū)間,比如2000年1月1號之前的數(shù)據(jù)會被分到一區(qū),包含2000年1月1號和之后的數(shù)據(jù)會被分到二區(qū),以此類推。Right 也可以使用Left替代,意思同上類似。另外,上面我定義了四個分割點,這四個分割點是根據(jù)我們剛剛創(chuàng)建的文件組來決定的。四個分割點就能產生5個區(qū)間段,我們把每個區(qū)間段的數(shù)據(jù)存入一個文件組。
正確執(zhí)行上述語句后你可以在數(shù)據(jù)里找到以“PartFuncForExample”命名的分區(qū)函數(shù),如下圖
5)把分區(qū)函數(shù)建立好以后,我們再來建立分區(qū)方案。目的是為了把分區(qū)函數(shù)產生的分區(qū)映射到文件數(shù)據(jù)組里。分區(qū)函數(shù)是告訴數(shù)據(jù)庫如何分區(qū)數(shù)據(jù),而分區(qū)方案是告訴數(shù)據(jù)庫如何把已分區(qū)的數(shù)據(jù)存到哪個文件組里。
下面我來創(chuàng)建分區(qū)方案。
Create Partition Scheme PartSchForExample //創(chuàng)建一個分區(qū)方案+分區(qū)方案名稱
As Partition PartFuncForExample//目的為了 分區(qū)函數(shù)PartFuncForExample
To
(
PRIMARY, //文件組名
Partition1, //文件組名
Partition2, //文件組名
Partition3, //文件組名
Partition4 //文件組名
)
正確執(zhí)行后能在分區(qū)方案中看到,如下圖
6)馬上就快要大公告成了,下面我們來建立要分區(qū)存儲的表,該表的數(shù)據(jù)理論上應該是非常非常多的,百萬級別的記錄以上而且基本上是不更新的。要不然建立分區(qū)存儲就沒多大意義了。
Create Table PartitionTable(
[ID] [int] Identity(1,1) not null,
[Name] [nvarchar](50) not null,
[LoginDate] [DateTime] not null //用來進行分區(qū)
) On PartSchForExample([LoginDate]) //上面提到的指定分區(qū)字段就是這里指定的了。
執(zhí)行這段SQL,沒報錯的話就大功告成了,呵呵.
總結:
分區(qū)存儲提高了數(shù)據(jù)庫的性能,被分區(qū)存儲的數(shù)據(jù)物理上是多個文件,但邏輯上任然是一個表,對表的任何操作都跟沒分區(qū)之前一樣。插入、刪除、查詢、更新等操作的時候,數(shù)據(jù)庫會自動為你找到對應的分區(qū),然后執(zhí)行操作。另外的話 把多個數(shù)據(jù)文件、日志文件都分別部署在不同的高性能物理盤上,也能大大提高性能.
當然,分區(qū)存儲的好處還有很多我不知道的,歡迎大家一起探討!
您可能感興趣的文章:- SQL server 2005的表分區(qū)
- Oracle數(shù)據(jù)表分區(qū)的策略
- Oracle 數(shù)據(jù)表分區(qū)的策略
- PostgreSQL 創(chuàng)建表分區(qū)
- SQLSERVER 表分區(qū)操作和設計方法
- 創(chuàng)建mysql表分區(qū)的方法
- oracle存儲過程創(chuàng)建表分區(qū)實例
- oracle表空間表分區(qū)詳解及oracle表分區(qū)查詢使用方法
- MySQL的表分區(qū)詳解
- Mysql數(shù)據(jù)表分區(qū)技術PARTITION淺析