亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

sql server 小記——分區表(上)

2024-08-31 00:55:57
字體:
來源:轉載
供稿:網友
sql server 小記——分區表(上)

 我們知道很多事情都存在一個分治的思想,同樣的道理我們也可以用到數據表上,當一個表很大很大的時候,我們就會想到將表拆

分成很多小表,查詢的時候就到各個小表去查,最后進行匯總返回給調用方來加速我們的查詢速度,當然切分可以使用橫向切分,縱向

切分,比如我們最熟悉的訂單表,通常會將三個月以外的訂單放到歷史訂單表中,這里的三個月就是將訂單表進行切分的依據。

 

好了,分區表的好處我想大家都很清楚了,下面我們看看如何實現。

一:分區表

這里我們做個例子,創建一個test數據庫,表名為shop,以createtime作為分區依據。

1:確定分區依據

怎么分區的話,這個要看具體業務邏輯了,你可以按照時間,地區,求模等等都可以。

2:創建文件組

  既然是文件組,肯定是對文件進行分類管理的,默認情況下就一個mdf和ldf文件,當所有的數據都擠壓在mdf上,確實不是一個

很好的事情,降低我們的查詢速度,當用到文件組的時候就可以創建多個ndf來分攤mdf中的數據,甚至還可以將ndf分攤到幾個磁盤

上,充分利用服務器多核處理能力,說了這么多,我們看看sql語句咋搞,這里我創建四個文件組,分別存放2013之前,2013,2014

和2014年之后的數據。

1 alter database Test add filegroup Before20132 alter database Test add filegroup T20133 alter database Test add filegroup T20144 alter database Test add filegroup After2014

3:創建文件

  

  根據上面在文件組上的概述,文件的作用大家都知道了,這里我們要做的是,將次文件.ndf附加到文件組上,因為我創建了4個文件組,

所以我也創建4個文件分別存放在這4個文件組中。

 1 alter database Test add file 2 (Name=N'Before2013',filename='D:/PRogram Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/Before20131.ndf',size=5mb,maxsize=100Mb,filegrowth=5mb)  3 to filegroup Before2013 4 alter database Test add file 5 (Name=N'T2013',filename='D:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/T20131.ndf',size=5mb,maxsize=100Mb,filegrowth=5mb)  6 to filegroup T2013 7 alter database Test add file 8 (Name=N'T2014',filename='D:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/T20141.ndf',size=5mb,maxsize=100Mb,filegrowth=5mb)  9 to filegroup T201410 alter database Test add file11 (Name=N'After2014',filename='D:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/After20141.ndf',size=5mb,maxsize=100Mb,filegrowth=5mb) 12 to filegroup After2014

4:編寫分區函數

剛才也說了,我們是按照時間進行切分的,將數據表數據分成:

① 2013年之前

② 2013-2014

③ 2014-2015

④ 2015之后

既然都知道依據了,我們分區函數也方便寫了。

1 create partition function RangeTime (datetime)2 as range left for values ('2012-12-31','2013-12-31','2014-12-31')

從上面的sql,我們可以看到三個點將時間軸分成了4段第一:rangeTime 為分組函數名。

第二:left其實就是當時間點在邊界時到底屬于左側還是右側,因為這里是left,所以屬于左側,如果是right關鍵詞,那就屬于右側了。

5:編寫分區方案

分區方案也就是將分區函數與文件組進行一個關聯,剛才也說了,3個時間點將一個時間軸分成了4部分,剛好對應了4個文件組。

那么具體的sql寫法如下:

1 create partition scheme RangeSchema_CreateTime2 as partition RangeTime3 to (before2013,T2013,T2014,after2014)

6:創建分區表  

跟普通表創建有點不一樣,分區表的創建還需要指定這個分區需要使用哪個分區方案下的分區字段,那么這里就是RangeSchema_CreateTime

中的CreateTime字段。

1 create table Shop2 (3   ID  varchar(50),4   ShopName varchar(50),5   CreateTime datetime 6 ) on RangeSchema_CreateTime(CreateTime)

這里要注意,如果在創建表的時候指定了ID為主鍵的話,這個時候需要指定ID為分區字段,否則會報錯的。

這時候可以在不要主鍵的情況下先創建表,然后再指定ID為主鍵。

7:插入測試數據并統計

  

這里我先插入10w條數據,然后來看看數據在各個分區的情況。‘

<1>插入數據

<2> 統計每個分區的數據量

這里主要有一個查詢分區的關鍵字“$partition”,非常的有用。

好了,到這個我們通過sql語句來實現分區表就已經完成了。

二:使用管理界面創建分區表

1:首先我們創建test1數據庫和shop表

2:創建文件組和文件

3:創建分區

①:右鍵Shop表,彈出菜單中選擇 “存儲” => "創建分區"

②:創建“分區函數”名 和 “分區方案”名。

③:創建分區映射,也就是將”分區函數“和“文件組”進行關聯。

④: 最后我們可以看一下界面給我生成的分區函數以及分區方案,蠻有意思的。

 1 USE [Test1] 2 GO 3 BEGIN TRANSACTION 4 CREATE PARTITION FUNCTION [MyRangeCreatTime](datetime) AS RANGE LEFT FOR VALUES (N'2012-12-31T00:00:00', N'2013-12-31T00:00:00', N'2014-12-31T00:00:00') 5  6  7 CREATE PARTITION SCHEME [MySchemeCreateTime] AS PARTITION [MyRangeCreatTime] TO ([Before2013], [T2013], [T2014], [After2014]) 8  9 10 ALTER TABLE [dbo].[Shop] DROP CONSTRAINT [PK__Shop__3214EC277F60ED59]11 12 13 ALTER TABLE [dbo].[Shop] ADD PRIMARY KEY NONCLUSTERED 14 (15     [ID] ASC16 )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]17 18 19 CREATE CLUSTERED INDEX [ClusteredIndex_on_MySchemeCreateTime_635288828144372217] ON [dbo].[Shop] 20 (21     [CreateTime]22 )WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [MySchemeCreateTime]([CreateTime])23 24 25 DROP INDEX [ClusteredIndex_on_MySchemeCreateTime_635288828144372217] ON [dbo].[Shop] WITH ( ONLINE = OFF )26 27 28 29 30 COMMIT TRANSACTION

從圖中可以看到生成好的分區函數名”[MyRangeCreatTime]“ 和分區架構名“[MySchemeCreateTime]”,最后我們執行下該sql就ok了。

⑤ 插入測試數據并進行簡單的測試

這里測試下“2013-1-1”是在哪個分區下。

  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品在线极品| 欧美黑人xxx| 九九热精品视频在线播放| 国产亚洲人成网站在线观看| 欧美日韩另类字幕中文| 欧美老少配视频| 国产一区二区三区久久精品| 久久久久国产精品免费网站| 色妞色视频一区二区三区四区| 日韩在线免费观看视频| 国产91露脸中文字幕在线| 在线观看中文字幕亚洲| 亚洲美女又黄又爽在线观看| 红桃av永久久久| 久久久亚洲网站| 91久久精品国产91性色| 亚洲人成电影网站色xx| 欧美激情在线观看| 亚洲色图15p| 日韩高清中文字幕| 亚洲国产一区二区三区在线观看| 97超级碰碰碰| 亚洲欧美精品在线| 在线播放国产一区中文字幕剧情欧美| 亚洲综合国产精品| 97碰碰碰免费色视频| 国产日韩欧美影视| 久久精品久久久久久国产 免费| 国产欧美日韩综合精品| 亚洲性生活视频在线观看| 成人免费视频xnxx.com| 国产精品久久9| 亚洲精品视频二区| 欧美日韩黄色大片| 欧美日韩中文在线观看| 91日本在线视频| 亚洲黄色在线观看| 97视频免费观看| 国产精品一区二区性色av| 日韩女优人人人人射在线视频| 国产精品视频久久| 久久综合国产精品台湾中文娱乐网| 国产精品美女免费视频| 啊v视频在线一区二区三区| 精品一区二区三区四区| 国产精品日韩在线播放| 91免费在线视频网站| 成人妇女免费播放久久久| 亚洲国产成人精品女人久久久| 色综合天天狠天天透天天伊人| 最近更新的2019中文字幕| 国产日韩换脸av一区在线观看| 亚洲男人天堂网站| 欧美精品videofree1080p| 国产美女精品免费电影| 国产91精品黑色丝袜高跟鞋| 亚洲偷熟乱区亚洲香蕉av| 亚洲裸体xxxx| 精品国产一区二区三区四区在线观看| 亚洲国产精品久久久久| 日韩免费av在线| 欧美激情18p| 热久久免费国产视频| 日本精品视频网站| 亚洲国产精品人人爽夜夜爽| 国产精品成人av性教育| 68精品国产免费久久久久久婷婷| 日韩一二三在线视频播| 亚洲精品免费av| 国产精品免费观看在线| 国产成人一区三区| 正在播放欧美一区| 这里只有精品在线播放| 97在线视频一区| 欧美国产精品日韩| 中文字幕日韩在线播放| 国产精品自产拍在线观看| 亚洲精品免费一区二区三区| 精品毛片三在线观看| 8090成年在线看片午夜| 91在线免费视频| 91精品国产乱码久久久久久久久| 精品成人国产在线观看男人呻吟| 91精品国产91久久久久久| 97激碰免费视频| 国产欧美精品一区二区三区-老狼| 亚洲色图15p| 精品国产拍在线观看| 久久精品国产亚洲精品| 在线播放国产一区中文字幕剧情欧美| 欧美日韩免费观看中文| 久久人人97超碰精品888| 超碰精品一区二区三区乱码| 国产国语刺激对白av不卡| 亚洲电影免费观看| 国产精品视频播放| 久久人人爽国产| 中文字幕九色91在线| 久久久国产精品x99av| 日韩欧美亚洲国产一区| 播播国产欧美激情| 亚洲xxx大片| 国产成+人+综合+亚洲欧美丁香花| 欧美精品九九久久| 91成人免费观看网站| 国产97色在线| 日韩有码片在线观看| 欧美二区在线播放| 国产日韩欧美另类| 日韩av在线最新| 亚洲国产成人精品电影| 欧美日韩爱爱视频| 日本欧美国产在线| 日韩成人在线免费观看| 国产成人精品久久二区二区| 2019亚洲日韩新视频| 欧美亚洲激情在线| 国产精品日韩欧美大师| 人体精品一二三区| 亚洲精品电影网站| 亚洲欧洲高清在线| 97精品在线视频| 人妖精品videosex性欧美| 欧美成人午夜视频| 国产手机视频精品| 欧美制服第一页| 亚洲xxx视频| 精品福利视频导航| 国产一区二区黑人欧美xxxx| 国产精品91久久久久久| 亚洲裸体xxxx| 一本大道香蕉久在线播放29| 欧洲美女免费图片一区| 国产精品视频白浆免费视频| 欧美激情久久久久| 在线午夜精品自拍| 欧美亚洲一区在线| 91九色国产在线| 久久久久久国产精品三级玉女聊斋| 另类少妇人与禽zozz0性伦| 欧美成人免费全部观看天天性色| 欧美激情国产高清| 人体精品一二三区| 国产日本欧美视频| 国产日韩在线精品av| 日韩网站免费观看| 亚洲福利视频久久| 亚洲最大的免费| 九九热精品视频在线播放| 精品视频在线播放色网色视频| 欧美精品做受xxx性少妇| 久久亚洲综合国产精品99麻豆精品福利| 国产精品久久久久久久美男| 日韩欧美中文字幕在线播放| 国产成人综合精品在线| 日韩中文字幕久久| 亚洲最大在线视频| 国产精品99久久久久久白浆小说| 亚洲欧美日韩国产精品| 韩国一区二区电影| 欧美日韩国产影院| 国产精品夜间视频香蕉| 26uuu久久噜噜噜噜| 久久成人一区二区|