SQL Server 2005 分割槽表建立例項

2022-07-01 07:24:09 字數 3374 閱讀 3836

--建立乙個分割槽函式(預設為左邊界)

create partition function partfunc1(int)

as range

for values(1000,2000,3000,4000,5000);

--建立乙個分割槽方案

create partition scheme partscheme1

as partition partfunc1

all to ([primary]);

--建立乙個分割槽表

create table parttable1

(col1 int,

col2 int,

col3 int

) on partscheme1(col1);

--插入測試記錄

insert into parttable1 values(10,10,10)

insert into parttable1 values(999,10,10)

insert into parttable1 values(1000,10,10)

insert into parttable1 values(2000,10,10)

insert into parttable1 values(3000,10,10)

insert into parttable1 values(5000,10,10)

insert into parttable1 values(6000,10,10)

insert into parttable1 values(7000,10,10)

insert into parttable1 values(9000,10,10)

insert into parttable1 values(993,10,10)

insert into parttable1 values(6000,10,10)

insert into parttable1 values(5000,10,10)

insert into parttable1 values(7000,10,10)

insert into parttable1 values(6600,10,10)

insert into parttable1 values(8200,10,10)

insert into parttable1 values(8900,10,10)

insert into parttable1 values(17000,10,10)

insert into parttable1 values(61600,10,10)

insert into parttable1 values(81200,10,10)

insert into parttable1 values(18900,10,10)

insert into parttable1 values(10,10,10)

insert into parttable1 values(999,10,10)

insert into parttable1 values(1000,10,10)

insert into parttable1 values(2000,10,10)

insert into parttable1 values(3000,10,10)

insert into parttable1 values(5000,10,10)

insert into parttable1 values(6000,10,10)

insert into parttable1 values(7000,10,10)

insert into parttable1 values(9000,10,10)

insert into parttable1 values(1993,10,10)

insert into parttable1 values(16000,10,10)

insert into parttable1 values(15000,10,10)

insert into parttable1 values(17000,10,10)

insert into parttable1 values(16600,10,10)

insert into parttable1 values(18200,10,10)

insert into parttable1 values(15000,10,10)

insert into parttable1 values(17000,10,10)

insert into parttable1 values(16000,10,10)

insert into parttable1 values(12000,10,10)

insert into parttable1 values(11000,10,10)

--檢視資料在分割槽的分布情況

select o.name,p.partition_number,p.rows

from sys.objects o join sys.partitions p on o.object_id=p.object_id

where o.type='u' and o.name='parttable1' and p.index_id=0

--檢視分割槽的配置情況

select f.name,f.type_desc,f.fanout,p.boundary_id,p.value

from sys.partition_functions f join sys.partition_range_values p on f.function_id=p.function_id

--合併分割槽,將1000--拆分分割槽,將1000--拆分分割槽之前如果分割槽方案指定的檔案組資料小於分割槽函式中的分割槽資料,則要修改分割槽方案

alter partition scheme partscheme1

next used [filegroup_name] 

--存檔分割槽,建立乙個存檔表

create table parttable2

(col1 int,

col2 int,

col3 int

) on partscheme1(col1)

--將分割槽1的資料存檔

alter table parttable1

switch partition 1

to parttable2 partition 1

--檢查資料是否歸檔

select $partition.partfunc1(col1) as partition,* from parttable1

order by partition

--where $partition.partfunc1(col1)=1

select * from parttable2

--如果將非分割槽表的資料轉移到分割槽表呢?

SQL SERVER2005分割槽表建立SQL

建立分割槽表之前,請在新建資料前新增資料庫檔案和檔案組 檔案組數 分割槽數 建立分割槽函式 有三個範圍會產生四個分割槽 create partition function fiveyeardaterangepfn datetime asrange left for values 20061031 2...

SQL Server 2005的表分割槽技術

今天來討論一下sql 2005的表分割槽技術,有興趣的可以一起學習一下。首先來理解一下概念。所謂的表分割槽就是讓使用者能夠把資料分散存放到不同的物理磁碟中,提高這些磁碟的並行處理效能以優化查詢效能。既然表分割槽能提高這些磁碟的並行處理效能以優化查詢效能,那麼我們就來玩玩。建立表分割槽三部曲 1.建立...

SQL Server2005表分割槽處理操作的5步驟

對於大表的資料處理,我們很容易想到對錶進行分割槽,其實就是將乙個表的資料按照某乙個可以進行分段處理的字段進行擷取拆分,儲存的時候通過這個字段觀察,表資料是一段一段的效果 分別存放在不同的檔案組,檔案組又分別存放在不同的硬碟上,這樣通過提高系統的i o來提高系統對資料處理的效能。這裡只記錄如何進行分割...