MS SQL 2012表分割槽

2022-01-19 01:27:19 字數 3248 閱讀 9550

最近開發乙個手機使用者統計平台,因為涉及到資料龐大,不得不以一周為單位對統計報表進行分割槽,所以記錄一下,方便以後檢視

第一步建立檔案分組

對於檔案分組共建立了14個,從 xy_group_20141025 到 xy_group_20150125, 下面是最後乙個分組,

add

filegroup xy_group_20150125

goalter

database

xiangyue_pt

addfile

(name ='

xy_20150125',

filename ='

c:\xiangyue_pt\xy_20150125.ndf',

size

=5120

kb,maxsize

=unlimited,

filegrowth

=5120kb)

tofilegroup xy_group_20150125

go

第二步建立分割槽函式 引數是日期的時間戳

這裡range定義的範圍可以是right或left,我們這裡使用的範圍是right,right表明是《或》=,left表明是<=或》。即<1414252799是乙個區,>=1414252799並且<1414857599是乙個區......>=1422201599是乙個分割槽,這裡相當於分了15個段的分割槽。

create partition function xy_function (int

)as range right

forvalues

(

1414252799

,1414857599

,1415462399

,1416067199

,1416671999

,1417276799

,1417881599

,1418486399

,1419091199

,1419695999

,1420387199

,1420991999

,1421596799

,1422201599

)go

第三步建立分割槽方案 將建立的分割槽函式對映到檔案組,檔案組對應磁碟上的物理資料庫檔案。

create

partition scheme xy_scheme

aspartition xy_function

to([

primary

],xy_group_20141025, xy_group_20141101, xy_group_20141108, xy_group_20141115, xy_group_20141122, xy_group_20141129, xy_group_20141206, xy_group_20141213, xy_group_20141220, xy_group_20141227, xy_group_20150104, xy_group_20150111, xy_group_20150118, xy_group_20150125)

go

第四步建立表,然後把錶鏈結到分割槽方案, 使用[date]作為分割槽列。

create

table

[dbo

].[reportbak](

[id][

int]

identity(1,1) not

null

,

[aid][

int]

notnull

,

[phonemodel][

varchar

](100) null

,

[macaddress][

varchar

](20) not

null

,

[installtime][

int]

null

,

[position][

varchar

](200) null

, [ip

][varchar

](20) null

,

[xiangyueid][

int]

null

,

[phonenumber][

varchar

](20) null

,

[uninstalltime][

int]

null

,

[publish][

bit]

null

,

[solve][

bit]

null

,

[perfectphoto][

bit]

null

,

[iseffective][

bit]

null

,

[isdeduction][

int]

null

,

[onlinetimes][

int]

null

,

[weekdays][

int]

null

,

[date][

int]

null,)

on xy_scheme([

date])

go

分割槽完畢,這時你可以對錶設定主鍵,索引等

select

*from

sys.partitions

where

object_name(object_id)=

'report

'

查詢下各個分割槽對應的資料量。

'所在分割槽

至此以上是對錶分割槽的大致方法,可能還有不當之處,其實這些方法我想大家都知道,沒什麼技術含量,我只是想記錄一下罷了,作為一名菜鳥我想是需要的!

MSSQL2008分割槽表

概念就不多說了,網上大把.分割槽函式的作用是告訴sql server,如何將資料進行分割槽,例如按時間,按年齡,按省.而分割槽方案的作用則是告訴sql server,將已分割槽的資料放在哪個檔案組中.多個硬碟上分開選擇的檔案組更好.一,用語句 建立,分割槽方案 create partition sc...

mysql 創表 mssql 建立mssql表

sql server 不能修改表結構 列型別 解決方法 在sql server中使用表結構設計的時候 提示是 不允許儲存更改。您所做的更改要求刪除並重新建立以下表。您對無法重新建立的標進行了更改或者啟用了 阻止儲存要求重新建立表的更改 選項。解決方案 啟動mssql server 2008,選擇選單...

MSSQL2005分割槽表設計步驟

在microsoft sqlserver 2005企業版中提供了分割槽表的功能。分割槽表是指按照資料水平方式分割槽,將資料分布於乙個資料庫的多個不同的檔案組中。mssql2005的表分割槽功能是針對超大型資料庫 從百gb級和tb級 而設計的。通過採取分割槽技術,對於資料子集的執行的維護操作只是針對所...