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

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

SQL Server2005 表分區三步曲

2024-08-31 00:53:07
字體:
來源:轉載
供稿:網友
前言

SQL Server 2005開始支持表分區,這種技術允許所有的表分區都保存在同一臺服務器上。每一個表分區都和在某個文件組(filegroup)中的單個文件關聯。同樣的一個文件/文件組可以容納多個分區表。在這種設計架構下,數據庫引擎能夠判定查詢過程中應該訪問哪個分區,而不用掃描整個表。如果查詢需要的數據行分散在多個分區中,SQL Server使用多個處理器對多個分區進行并行查詢。你可以為在創建表的時候就定義分區的索引。 對小索引的搜索或者掃描要比掃描整個表或者一張大表上的索引要快很多。因此,當對大表進行查詢,表分區可以產生相當大的性能提升

通過分別檢查同一條返回所有行的、簡單SELECT語句在分區表和非分區表上的執行計劃,返回的數據范圍通過WHERE語句來指定。同一條語句在這兩個不同的表上有不同的執行計劃。對于分區表的查詢顯示出一個嵌套的循環和索引的掃描。從本質上來說,SQL Server將兩個分區視為獨立的表,因此使用一個嵌套循環將它們連接起來。對非分區的表的同一個查詢則使用索引掃描來返回同樣的列。當你使用同樣的分區策略創建多個表,同時在查詢中連接這些表,那么性能上的提升會更加明顯

分區請三思

1.雖然分區可以帶來眾多的好處,但是同進也增加了實現對象的管理費用和復雜性。因此在進行分區之前要首先仔細的考慮以確定是否應為對象進行分區。

2.在確定了為對象進行分區后,下一步就要確定分區鍵和分區數。要確定分區數據,應先評估您的數據中是否存在邏輯分組和模式。

3.確定是否應使用多個文件分組。為了有助于優化性能和維護,應使用文件組分離數據。文件組是數據庫數據文件的邏輯組合,它可以對數據文件進行管理和分配,以便提高數據庫文件的并發訪問效率。

分區三步曲

SQL Server數據庫表分區操作過程由三個步驟組成:

1. 創建分區函數

2. 創建分區架構

3. 對表進行分區

(一):創建一個分區函數(邏輯結構)

   此分區函數用于定義你希望SQL Server如何對數據進行分區的參數值(how)。這個操作并不涉及任何表格,只是單純的定義了一項技術來分割數據。

--刪除表

if object_id('tb_partition1')is not null drop table tb_partition1

go

if object_id('tb_partition2')is not null drop table tb_partition2

go

--刪除架構

If exists(Select 1 from sys.partition_schemes where name='my_psch')

    drop partition scheme my_psch

go

--刪除分區函數

if exists(select 1 from sys.partition_functions where name='my_pfun')

    drop partition function my_pfun

--建立分區函數

create partition function my_Pfun(datetime)

as range left

for values('2007-12-31')

注意:這里調用的"RANGE RIGHT"語句表明每個分區邊界值是右界。類似的,如果使用"RANGE LEFT"語句,則上述第一個分區應該包括所有值小于或等于'2004-01-01'數據,以此類推.

(二):創建一個分區架構(物理結構)

   一旦給出描述如何分割數據的分區函數,接著就要創建一個分區架構,用來定義分區位置(where)。創建過程非常直截了當,只要將分區連接到指定的文件組就行了。

--建立分區架構

go

create partition scheme my_psch

as partition my_pfun

to([PRimary],[Primary])

/*
1,建立分區函數,分區方案是有先后順序的。
2,分區函數提供的值的數目n,不能超過 999。所創建的分區數等于 n + 1
*/

注意:這里將一個分區函數連接到了該分區架構,但并沒有將分區架構連接到任何數據表。這就是可復用性起作用的地方了。無論有多少數據庫表,我們都可以使用該分區架構(或僅僅是分區函數)。

(三):對一個表進行分區

   定義好一個分區架構后,就可以著手創建一個分區表了。只需要在表創建指令中添加一個"ON"語句,用來指定分區架構以及應用該架構的表列。因為分區架構已經識別了分區函數,所以不需要再指定分區函數了。

create table tb_partition1

(id int identity,

dt datetime,

[name]as 'Name'+ltrim(ID),

constraint pk_tbpartition1 primary key clustered(ID,dt)on my_psch(dt)

)on my_psch(dt)

go

create table tb_partition2

(id int identity,

dt datetime,

[name]as 'Name'+ltrim(ID),

constraint pk_tbpartition2 primary key clustered(ID,dt)on my_psch(dt)

)on my_psch(dt)
--為此表填充數

declare @dt datetime

set @dt='2007-01-01'

while @dt<='2009-10-01'

   begin

     insert tb_partition1 select @dt

     set @dt=dateadd(dd,1,@dt)

   end

--查詢表的分區狀況 Select * from sys.partitions

Where object_id In

(Select object_id From sys.tables Where name In('tb_partition1','tb_partition2'))

---- 現在我們可以看一下我們剛才插入的行都分布在哪個Partition
select *,$partition.my_pfun(dt) from tb_partition1

--切換分區

--切換前

select * from tb_partition1

select * from tb_partition2

----切換分區tb_partition1-->tb_partition2

Alter Table tb_partition1

Switch Partition 2 To tb_partition2 Partition 2

go

select * from tb_partition1

select * from tb_partition2

修改三步曲
1 添加一個文件組到數據庫(可選)
2 修改分區Scheme
3 修改分區函數

--1 添加一個文件組到數據庫
--2 修改分區Scheme
--把大於/12/31的分區改分為2個分區
--3 修改分區函數
Alter Partition Function My_pfun()

Alter Partition Scheme my_psch

Next Used [Primary]

go

Split Range('2008/12/31')

Go

--把小于2008/12/31的兩分區合并

Alter Partition Function My_PFun()

Merge Range('2007/12/31')
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久精品在线| 2019中文字幕在线免费观看| 色哟哟亚洲精品一区二区| 精品久久久久久亚洲国产300| 国产成+人+综合+亚洲欧美丁香花| 中文国产成人精品久久一| 91手机视频在线观看| 亚洲第一网站男人都懂| 热久久视久久精品18亚洲精品| 91九色单男在线观看| 欧美激情乱人伦| 久久免费高清视频| 91精品久久久久久久久久| 最近2019年好看中文字幕视频| 久久精品影视伊人网| 精品久久久香蕉免费精品视频| 亚洲国产精品va在线| 在线视频日本亚洲性| 狠狠色香婷婷久久亚洲精品| 日韩欧美在线视频观看| 欧美成人国产va精品日本一级| 亚洲天堂视频在线观看| 2019亚洲日韩新视频| 欧美极度另类性三渗透| 亚洲成人aaa| 欧美视频中文字幕在线| 久久久视频在线| 中文字幕欧美日韩va免费视频| 中文字幕日韩有码| 久久久久久亚洲精品不卡| 精品国产一区二区三区四区在线观看| 欧美大片免费观看在线观看网站推荐| 国内精品国产三级国产在线专| 欧美美女操人视频| 亚洲在线一区二区| 亚洲国产精品久久| 日韩电影免费在线观看| 成人情趣片在线观看免费| 久久久精品一区| 26uuu国产精品视频| 欧美天堂在线观看| 国产欧美精品xxxx另类| 国产成人福利夜色影视| 庆余年2免费日韩剧观看大牛| 亚洲欧美激情视频| 3344国产精品免费看| 国产精品18久久久久久首页狼| 日韩欧中文字幕| 亚洲成人av片在线观看| 亚洲一区亚洲二区| 久久躁狠狠躁夜夜爽| 51久久精品夜色国产麻豆| 91老司机在线| 国产精品入口夜色视频大尺度| 精品无人区乱码1区2区3区在线| 欧美性色视频在线| 亚洲视频在线观看视频| 亲爱的老师9免费观看全集电视剧| 少妇高潮久久久久久潘金莲| 日韩有码在线视频| 正在播放国产一区| 在线性视频日韩欧美| 国产精品视频一区二区三区四| 国产在线播放91| 欧美丰满片xxx777| 久久久www成人免费精品| 国产99久久久欧美黑人| 亚洲国产精品中文| 久久精品成人欧美大片古装| 午夜精品久久久久久久白皮肤| 国产丝袜精品第一页| 国产一区二区视频在线观看| 久久久久久久久中文字幕| 午夜精品久久久久久久白皮肤| 色噜噜亚洲精品中文字幕| 成人免费视频xnxx.com| 欧美午夜精品久久久久久久| 欧美性猛交xxxx免费看漫画| 亚洲欧美日韩高清| 欧美一区第一页| 国产精品视频免费观看www| 68精品国产免费久久久久久婷婷| 永久免费毛片在线播放不卡| 色偷偷噜噜噜亚洲男人的天堂| 热re99久久精品国产66热| 亚洲免费视频一区二区| 日韩免费av一区二区| 97在线免费观看视频| 久久久噜噜噜久久中文字免| 精品福利一区二区| 日本高清视频精品| 日韩最新在线视频| 国产亚洲精品一区二555| 日韩中文有码在线视频| 久久免费高清视频| 欧美午夜片欧美片在线观看| 亚州成人av在线| 神马久久桃色视频| 亚洲成色777777在线观看影院| 97视频国产在线| 欧美老少做受xxxx高潮| 日韩中文字幕免费视频| 黄色成人在线播放| 日本国产高清不卡| 第一福利永久视频精品| 亚洲精品v欧美精品v日韩精品| 日韩精品在线观| 欧美午夜视频一区二区| 中文字幕日本欧美| 69视频在线免费观看| 欧美性开放视频| 欧美高清videos高潮hd| 国产精品激情av电影在线观看| 亚洲肉体裸体xxxx137| 色综合久久悠悠| 亚洲精品国产成人| 久久久久久久久久国产精品| 这里只有精品在线播放| 国产精品精品视频| 97视频在线免费观看| 欧美人与性动交a欧美精品| 久久精品国产2020观看福利| 91久久综合亚洲鲁鲁五月天| 中文字幕久久精品| 久久成年人免费电影| 日韩欧美精品网站| 国产91精品久久久久久| 成人午夜小视频| 国产精品久久久久久久久免费| 日韩大片在线观看视频| 亚洲一区二区中文| 最近日韩中文字幕中文| 一区二区三区回区在观看免费视频| 美女av一区二区三区| 第一福利永久视频精品| 欧美亚洲成人免费| 成人国产精品色哟哟| 国产欧美日韩免费| 亚洲大尺度美女在线| 国产一区二中文字幕在线看| 欧美在线视频观看免费网站| 午夜精品久久久久久久99黑人| 日本中文字幕久久看| 日韩美女毛茸茸| 久久精品国产免费观看| 国产精品麻豆va在线播放| 最新69国产成人精品视频免费| 狠狠躁夜夜躁人人爽超碰91| 亚洲精品电影网在线观看| 色噜噜亚洲精品中文字幕| 国产精品国产福利国产秒拍| 国产精品九九久久久久久久| 成人日韩av在线| 久久亚洲精品中文字幕冲田杏梨| 亚洲欧美精品一区| 国内久久久精品| 一区三区二区视频| 国产一区二区三区在线观看网站| 在线观看日韩欧美| 亚洲人成网站777色婷婷| 国产成人免费av| 狠狠色狠狠色综合日日小说| 91精品国产自产在线| 欲色天天网综合久久|