欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

MSSQL Server 創建分區表

admin
2024年7月19日 18:9 本文熱度 656

分區表的主要目的:

1、是為了改善大型表以及具有各種訪問模式的表的可伸縮性和可管理性。

分區一方面可以將數據分為更小、更易管理的部分,為提高性能起到一定的作用;

另一方面,對于如果具有多個CPU的系統,分區可以是對表的操作通過并行的方式進行。

2、創建分區表或分區索引的步驟

可以分為以下步驟:

1. 確定分區列和分區數

2. 確定是否使用多個文件組

3. 創建分區函數

4. 創建分區架構

5. 創建分區表

6. 創建分區索引

第一、創建分區表的第一步,先創建數據庫文件組,但這一步可以省略,因為你可以直接使用PRIMARY文件。

為了方便管理,還是可以先創建幾個文件組,這樣可以將不同的小表放在不同的文件組里,既便于理解又可以提高運行速度。

創建文件組的方法很簡單,打開SQL Server Management Studio,找到分區表所在數據庫,

右鍵單擊,在彈出的菜單里選擇“屬性”。然后選擇“文件組”選項,再單擊下面的“添加”按鈕

第二,創建了文件組之后,還要再創建幾個數據庫文件。

因為分區的小表必須要放在硬盤上的文件里. 

再說,文件組中沒有文件,文件組就是多余的了.

選擇“文件”選項,然后添加幾個文件。在添加文件的時候要注意:

1、不要忘記將不同的文件放在文件組中。當然一個文件組中也可以包含多個不同的文件。

2、如果可以的話,將不同的文件放在不同的硬盤分區里,最好是放在不同的獨立硬盤里。

要知道IQ的速度往往是影響SQL Server運行速度的重要條件之一。

將不同的文件放在不同的硬盤上,可以加快SQL Server的運行速度。

第三、創建分區函數。

-- 創建分區函數的目的是告訴SQL Server以什么方式對分區表進行分區。

-- 若分區函數存在則先drop掉

-- 創建分區函數給后面的分區方案使用,分區函數就是指定一個范圍確定在某個值為什么的時候放在那個分區上

IF  EXISTS (SELECT * FROM sys.partition_functions WHERE name = N'partf_hc')

DROP PARTITION FUNCTION [partf_hc]

CREATE PARTITION FUNCTION partf_hc (datetime)

AS RANGE RIGHT FOR VALUES ('2015-01-01', '2016-01-01')

--1、CREATE PARTITION FUNCTION意思是創建一個分區函數。

--2、partfunSale為分區函數名稱。

--3、AS RANGE RIGHT為設置分區范圍的方式為Right,也就是右置方式。

--4、FOR VALUES ('2015-01-01', '2016-01-01')為按這幾個值來分區。

第四、創建分區架構。

-- 分區方案的作用是將分區函數生成的分區映射到文件組中去。告訴SQL Server將已分區的數據放在哪個文件組中。

-- 看分區方案是否存在,若存在先drop掉

IF  EXISTS (SELECT * FROM sys.partition_schemes WHERE name = N'parts_hc')

DROP PARTITION SCHEME [parts_hc]

GO

--創建分區方案,分區方案需要指定一個分區函數,并指定在分區函數中分的區需要放在哪一個文件組上

create partition scheme parts_hc 

AS 

PARTITION [partf_hc] TO (HC2014,HC2015,HC2016)

GO

-- 1、CREATE PARTITION SCHEME意思是創建一個分區方案。

-- 2、parts_hc 為分區方案名稱。

-- 3、AS PARTITION partf_hc 說明該分區方案所使用的分區函數為partf_hc。

-- 4、TO后面的內容是指partf_hc分區函數劃分出來的數據對應存放的文件組。


--創建分區表

if object_id('hitcount','U') is not null

drop table hitcount;

go

create table hitcount

(

[hitdate] [datetime] NOT NULL,

[songid] [nvarchar](20) NOT NULL,

[hitcount] [int] NULL

) on parts_hc(hitdate) --在此處指定該表要使用的分區方案,并將指定分區依據列

go

-- 1、跟創建普通數據表差不多,需要注意的是不能再創建聚集索引, 

-- 因為聚集索引可以將記錄在物理上順序存儲的,

-- 而分區表是將數據分別存儲在不同的表中,這兩個概念是沖突的

-- 2、on parts_hc說明使用名為 parts_hc 的分區方案。

-- 3、(hityear)表示用于分區條件的字段是hityear。


-- 插入測試數據

insert into hitcount values ('2013-01-01 00:00:00', '001102', 1); -- 這條數據在1分區上

insert into hitcount values ('2014-01-01 00:00:00', '001102', 1); -- 這條數據在1分區上

insert into hitcount values ('2015-01-01 00:00:00', '001102', 1); -- 這條數據在2分區上

insert into hitcount values ('2016-01-01 00:00:00', '001102', 1); -- 這條數據在3分區上

insert into hitcount values ('2017-01-01 00:00:00', '001102', 1); -- 這條數據在3分區上


-- 查看全部紀錄

select * from hitcount

-- 查看紀錄分部情況

select *, $partition.partf_hc(hitdate) as 分區 from hitcount


該文章在 2024/7/22 10:41:43 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved