SqlServer分割槽表的建立

2021-08-18 19:20:52 字數 2597 閱讀 5955

說明:當資料庫中的表和索引變得非常大時,我們可以利用分割槽表來將資料拆分,使資料分的更小、更容易管理,並且可以提公升資料表的效能和可用性;並且建立完的分割槽表在使用中並沒有什麼太大的區別。

1、建立三個檔案組

alter database [mytest] add filegroup fileone;

alter database [mytest] add filegroup filetwo;

alter database [mytest] add filegroup filethree;

2、為每個檔案組增加乙個資料檔案,分割槽檔案最好放在不同的磁碟上,可以提高磁碟讀寫速度

alter database [mytest]

add file(

name=n'file1',

filename=n'd:\db\fileone\file1.ndf',

size=5mb, maxsize=unlimited

,filegrowth=5mb

)to filegroup fileone --檔案組

goalter database [mytest]

add file(

name=n'file2',

filename=n'd:\db\filetwo\file2.ndf',

size=5mb, maxsize=unlimited

,filegrowth=5mb

)to filegroup filetwo--檔案組

goalter database [mytest]

add file(

name=n'file3',

filename=n'd:\db\filethree\file3.ndf',

size=5mb, maxsize=unlimited

,filegrowth=5mb

)to filegroup filethree--檔案組

go3、建立分割槽函式

create partition function idkeyrange(int)

as range left for values

(5,10)  --資料將分為三部分:1-5,6-10,11-n

go4、建立分割槽方案

create partition scheme [idkeyrangescheme] as partition idkeyrange 

to (fileone, filetwo, filethree)  --數量要與分割槽函式中的數量(分割槽函式中將資料分成了三段)一致

5、建立分割槽表

create table temptable

(id int not null,

name nvarchar(20) not null

)on idkeyrangescheme(id)

go6、往資料庫中插入12條資料

insert into temptable(id,name) values(1,'11');

insert into temptable(id,name) values(2,'22');

insert into temptable(id,name) values(3,'33');

insert into temptable(id,name) values(4,'44');

insert into temptable(id,name) values(5,'55');

insert into temptable(id,name) values(6,'66');

insert into temptable(id,name) values(7,'77');

insert into temptable(id,name) values(8,'88');

insert into temptable(id,name) values(9,'99');

insert into temptable(id,name) values(10,'1100');

insert into temptable(id,name) values(11,'1111');

insert into temptable(id,name) values(12,'1122');

7、查詢表中資料。看看並顯示資料所在區號

select *,$partition.idkeyrange(id) as 區號 from temptable 

8、查詢某個分割槽下面的所有資料

select *,$partition.idkeyrange(id) as 區號 from temptable where $partition.idkeyrange(id)=1  

sqlserver 分割槽表

1 建分割槽函式,用於自動劃分物理表資料的流向 建好後可以在databases dbname storage中看到 下面分成四個區域 bigscreen且 computer且 pooltable 若是right,則x1 bigscreen x2 computer x3 pooltable x4 若是...

sqlserver 分割槽表

當資料庫表中資料量能夠被 到將會非常大,或者已經擁有龐大的資料時,我們應該選擇分表或者分割槽 即使用多個資料庫 來解決資料訪問時的效能問題。為什麼要分區分表呢?因為分區分表有如下幾個有點 1.改善查詢效能,對分割槽物件的查詢可以僅搜尋自己關係的分割槽,提高檢索速度。2.增強可用性,如果表的某個分割槽...

Sqlserver分割槽表

1.分割槽表簡介 分割槽表在邏輯上是乙個表,而物理上是多個表。從使用者角度來看,分割槽表和普通表是一樣的。使用分割槽表的主要目的是為改善大型表以及具有多個訪問模式的表的可伸縮性和可管理性。分割槽表是把資料按設定的標準劃分成區域儲存在不同的檔案組中,使用分割槽可以快速而有效管理和訪問資料子集。1.1 ...