程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> 一步步教你樹立SQL數據庫的表分區

一步步教你樹立SQL數據庫的表分區

編輯:MSSQL

一步步教你樹立SQL數據庫的表分區。本站提示廣大學習愛好者:(一步步教你樹立SQL數據庫的表分區)文章只能為提供參考,不一定能成為您想要的結果。以下是一步步教你樹立SQL數據庫的表分區正文


直接上步調:

1)新建一個數據庫

 

2)添加幾個文件組

3)回到“慣例”選項卡,添加數據庫文件

看到用白色框框起來的處所沒?上一步中樹立的文件組在這裡就用上了。再看前面的途徑,我把每個文件都零丁放在分歧的磁盤上,並且最好都是零丁的放在分歧的物理盤上,如許會年夜年夜進步數據的機能。 點擊“肯定”數據庫就算創立完成了。

4)接上去要做的是樹立一個分區行數,SQL語句以下:年夜家進修的時刻最好不要直接COPY,著手把它抄一遍也好。

create partition function PartFuncForExample(Datetime) 
as Range Right for Value('20000101','20010101','20020101','20030101') 

這裡我預備用表中的某個時光字段作為分區的前提,固然你也能夠用其他的,好比INT之類,只需好分段的都可以。

這裡留意 Right 症結字,意思就是當記載的時光(鄙人面會被指到表的某個字段)年夜於等於20000101的時刻,數據會被分到下一個區間,好比2000年1月1號之前的數據會被分到一區,包括2000年1月1號和以後的數據會被分到二區,以此類推。Right 也能夠應用Left替換,意思同上相似。別的,下面我界說了四個朋分點,這四個朋分點是依據我們方才創立的文件組來決議的。四個朋分點就可以發生5個區間段,我們把每一個區間段的數據存入一個文件組。

准確履行上述語句後你可以在數據裡找到以“PartFuncForExample”定名的分區函數,以下圖

5)把分區函數樹立好今後,我們再來樹立分區計劃。目標是為了把分區函數發生的分區映照到文件數據組裡。分區函數是告知數據庫若何分區數據,而分區計劃是告知數據庫若何把已分區的數據存到哪一個文件組裡。

上面我來創立分區計劃。

Create Partition Scheme PartSchForExample //創立一個分區計劃+分區計劃稱號 
As Partition PartFuncForExample//目標為了 分區函數PartFuncForExample 
To 
( 
PRIMARY, //文件組名 
Partition1, //文件組名 
Partition2, //文件組名 
Partition3, //文件組名 
Partition4 //文件組名 
) 

准確履行後能在分區計劃中看到,以下圖

6)立時就將近年夜通知布告成了,上面我們來樹立要分區存儲的表,該表的數據實際上應當長短常異常多的,百萬級其余記載以上並且根本上是不更新的。要否則樹立分區存儲就沒多年夜意義了。

Create Table PartitionTable( 
[ID] [int] Identity(1,1) not null, 
[Name] [nvarchar](50) not null, 
[LoginDate] [DateTime] not null //用來停止分區 
) On PartSchForExample([LoginDate]) //下面提到的指定分區字段就是這裡指定的了。 

履行這段SQL,沒報錯的話就年夜功樂成了,呵呵.

總結:

分區存儲進步了數據庫的機能,被分區存儲的數據物理上是多個文件,但邏輯上任然是一個表,對表的任何操作都跟沒分區之前一樣。拔出、刪除、查詢、更新等操作的時刻,數據庫會主動為你找到對應的分區,然後履行操作。別的的話 把多個數據文件、日記文件都分離安排在分歧的高機能物理盤上,也能年夜年夜進步機能.

固然,分區存儲的利益還有許多我不曉得的,迎接年夜家一路商量!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved