sql server 數據庫分區分表
作為演示,本文使用的數據庫 sql server 2017 管理工具 sql server management studio 18,,創建數據庫mytest,添加Test表,Test表列為 id和name,具體可以自行創建
sql server 數據庫分區分表具體步驟如下
1、選擇數據庫選擇右鍵 新建查詢,內容如下
--數據庫分區分表 --1、給數據庫mytest添加文件分組 ALTER DATABASE mytest add filegroup group1; ALTER DATABASE mytest add filegroup group2; ALTER DATABASE mytest add filegroup group3; --2、給數據庫mytest的文件分組添加分區文件 ALTER DATABASE mytest add file(name=N'group1',filename=N'E:\Databasepartitionsubtable\group1.ndf',size=5Mb,filegrowth=5mb) to filegroup group1; ALTER DATABASE mytest add file(name=N'group2',filename=N'E:\Databasepartitionsubtable\group2.ndf',size=5Mb,filegrowth=5mb) to filegroup group2; ALTER DATABASE mytest add file(name=N'group3',filename=N'E:\Databasepartitionsubtable\group3.ndf',size=5Mb,filegrowth=5mb) to filegroup group3;
注意:在添加分區文件的時候這個分區文件的路徑 filename 必須是存在的,菲歐澤報錯,可以先創建一個路徑和文件夾即可,本文是: E:\Databasepartitionsubtable
創建成功之后,可以查看,選擇mytest數據庫,右鍵屬性 文件組,如下所示

2、數據庫mytest中的數據表Test添加分區
--例如:dbo.Test表做分區
--選擇dbo.Test表-》右鍵存儲-》創建分區,更具創建分區向導處理即可,在選擇分區列時,
--我們選擇ID,這樣就可以設置分區了,
--如id 為1-10000,存儲到主文件組PRIMARY
--如id 為10001-20000,存儲到group1
--如id 為20001-30000,存儲到group2
--如id 為30000以上,存儲到group3
向導如下圖




下面分區的范圍,左邊界和右邊界意思就是,分界值存儲在房錢分組還是下一個分組

選擇左邊界
--我們選擇ID,這樣就可以設置分區了,
--如id 為1-10000,存儲到主文件組PRIMARY
--如id 為10001-20000,存儲到group1
--如id 為20001-30000,存儲到group2
--如id 為30000以上,存儲到group3




上述操作完成以后,我們的數據庫分區分表就完成了,
查看表的分區存儲情況
選擇Test表右鍵屬性-》存儲 可以看到分區和文件組

選擇myest數據庫右鍵屬性-》文件, 可以看到分區文件、文件組


注意:一盤數據庫分區分表建議不要進行全表掃描,可以使用條件查詢,這個性能更好,
本文只是問了演示做了id來警醒分區分表存儲的,其實如果Table中時間字段的話,並且有按照年分來使用的話,那么可以一句這個書簡字段分進行分區分表存儲,例如銷售數據,2010-12-31,2011-12-31,2012-12-31,2013-12-31等等來進行分區分表。
