自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解惑:對(duì)SQL Server分區(qū)進(jìn)行合并(刪除)

數(shù)據(jù)庫(kù) SQL Server 數(shù)據(jù)庫(kù)運(yùn)維
在SQL Server 2005版本之后就有了表分區(qū)的概念與應(yīng)用,在分區(qū)操作里面有一個(gè)叫做合并分區(qū)的功能,也被稱為刪除分區(qū)。分區(qū)所處的文件組和文件是不會(huì)被刪除的,只會(huì)對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)移合并。合并分區(qū)時(shí)需要注意所帶來的IO問題。

一、準(zhǔn)備

在SQL Server 2005版本之后就有了表分區(qū)的概念與應(yīng)用,在分區(qū)操作里面有一個(gè)叫做合并分區(qū)的功能,也被稱為刪除分區(qū)。分區(qū)所處的文件組和文件是不會(huì)被刪除的,只會(huì)對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)移合并。合并分區(qū)時(shí)需要注意所帶來的IO問題。

合并分區(qū)常見情景:發(fā)現(xiàn)某個(gè)分區(qū)的數(shù)據(jù)很少,為了方便管理可以考慮合并分區(qū)。需要進(jìn)行統(tǒng)計(jì)、四則運(yùn)算的時(shí)候也可以考慮合并分區(qū),這種情形下并沒有對(duì)比合并與分區(qū)之間的性能,如果某位童鞋有興趣和環(huán)境的話可以提供這方面的數(shù)據(jù)。

查看分區(qū)方案的方式:在SQL Server Management Studio中,選擇數(shù)據(jù)庫(kù)-->存儲(chǔ)-->分區(qū)方案,右擊分區(qū)方案名,在彈出的菜單中選擇“編寫分區(qū)方案腳本為”-->CREATE到-->新查詢編輯器窗口。

二、測(cè)試

(一) 環(huán)境:使用RANGE RIGHT作為分區(qū)函數(shù)的關(guān)鍵字,它表示這個(gè)值開始是屬于右邊界的。

  1. RANGE RIGHT FOR VALUES ('20100101','20110101','20120101','20130101')  

文件組
分區(qū)
取值范圍
[FG1]
1
[過去某年, 2010/01/01)
[FG2]
2
[2010/01/01, 2011/01/01)
[FG3]
3
[2011/01/01, 2012/01/01)
[FG4]
4
[2012/01/01, 2013/01/01)
[PRIMARY]
5
[2013/01/01, 未來某年)

1.   測(cè)試一:刪除分區(qū)函數(shù)的第一個(gè)值

當(dāng)使用MERGE RANGE ('20100101'),合并后分區(qū)就相當(dāng)于:

  1. RANGE RIGHT FOR VALUES ('20110101','20120101','20130101')   

文件組
分區(qū)
取值范圍
[FG?]
1
[過去某年, 2011/01/01)
[FG3]
2
[2011/01/01, 2012/01/01)
[FG4]
3
[2012/01/01, 2013/01/01)
[PRIMARY]
4
[2013/01/01, 未來某年)

 

問題:是[FG1]合并到[FG2],還是[FG2]合并到[FG1]呢?

測(cè)試結(jié)果:[FG2]合并到[FG1]

2. 測(cè)試二:刪除分區(qū)函數(shù)的第二個(gè)值

當(dāng)使用MERGE RANGE ('20110101'),合并后分區(qū)就相當(dāng)于:

  1. RANGE RIGHT FOR VALUES ('20100101','20120101','20130101'

文件組
分區(qū)
取值范圍
[FG1]
1
[過去某年, 2010/01/01)
[FG?]
2
[2010/01/01, 2012/01/01)
[FG4]
3
[2012/01/01, 2013/01/01)
[PRIMARY]
4
[2013/01/01, 未來某年)

問題:是[FG2]合并到[FG3],還是[FG3]合并到[FG2]呢?

測(cè)試結(jié)果:[FG3]合并到[FG2]

 

3.     測(cè)試三:刪除分區(qū)函數(shù)的最后一個(gè)值

當(dāng)使用MERGE RANGE ('20130101'),合并后分區(qū)就相當(dāng)于:

  1. RANGE RIGHT FOR VALUES ('20100101','20110101','20120101'

文件組
分區(qū)
取值范圍
[FG1]
1
[過去某年, 2010/01/01)
[FG2]
2
[2010/01/01, 2011/01/01)
[FG3]
3
[2011/01/01, 2012/01/01)
[?]
4
[2012/01/01, 未來某年)

問題:是[FG4]合并到[PRIMARY],還是[PRIMARY]合并到[FG4]呢?

測(cè)試結(jié)果:[PRIMARY]合并到[FG4]

(二) 環(huán)境:使用RANGE LEFT作為分區(qū)函數(shù)的關(guān)鍵字,它表示這個(gè)值開始是屬于左邊界的。

  1. RANGE LEFT FOR VALUES ('20100101','20110101','20120101','20130101'

文件組
分區(qū)
取值范圍
[FG1]
1
(過去某年, 2010/01/01]
[FG2]
2
(2010/01/01, 2011/01/01]
[FG3]
3
(2011/01/01, 2012/01/01]
[FG4]
4
(2012/01/01, 2013/01/01]
[PRIMARY]
5
(2013/01/01, 未來某年]

1.  測(cè)試四:刪除分區(qū)函數(shù)的第一個(gè)值

當(dāng)使用MERGE RANGE ('20100101'),合并后分區(qū)就相當(dāng)于:

  1. RANGE LEFT FOR VALUES ('20110101','20120101','20130101')  

文件組
分區(qū)
取值范圍
[FG?]
1
(過去某年, 2011/01/01]
[FG3]
2
(2011/01/01, 2012/01/01]
[FG4]
3
(2012/01/01, 2013/01/01]
[PRIMARY]
4
(2013/01/01, 未來某年]

問題:是[FG1]合并到[FG2],還是[FG2]合并到[FG1]呢?

測(cè)試結(jié)果:[FG1]合并到[FG2]

2.     測(cè)試五:刪除分區(qū)函數(shù)的第二個(gè)值

當(dāng)使用MERGE RANGE ('20110101'),合并后分區(qū)就相當(dāng)于:

  1. RANGE LEFT FOR VALUES ('20100101','20120101','20130101')  

文件組
分區(qū)
取值范圍
[FG1]
1
(過去某年, 2010/01/01]
[FG?]
2
(2010/01/01, 2012/01/01]
[FG4]
3
(2012/01/01, 2013/01/01]
[PRIMARY]
4
(2013/01/01, 未來某年]

問題:是[FG2]合并到[FG3],還是[FG3]合并到[FG2]呢?

測(cè)試結(jié)果:[FG2]合并到[FG3]

3.    測(cè)試六:刪除分區(qū)函數(shù)的最后一個(gè)值

當(dāng)使用MERGE RANGE ('20130101'),合并后分區(qū)就相當(dāng)于:

  1. RANGE LEFT FOR VALUES ('20100101','20110101','20120101')  

文件組
分區(qū)
取值范圍
[FG1]
1
(過去某年, 2010/01/01]
[FG2]
2
(2010/01/01, 2011/01/01]
[FG3]
3
(2011/01/01, 2012/01/01]
[?]
4
(2012/01/01, 未來某年]

問題:是[FG4]合并到[PRIMARY],還是[PRIMARY]合并到[FG4]呢?

測(cè)試結(jié)果:[FG4]合并到[PRIMARY]

三、結(jié)論

下圖中形象的表述了邊界值(boundary_value)所處的分區(qū),符號(hào)“()”表示不包含,“[]”表示包含,一個(gè)圓圈帶叉圖標(biāo)表示需要?jiǎng)h除這個(gè)邊界值,當(dāng)使用MERGE RANGE的時(shí)候,數(shù)據(jù)庫(kù)就需要?jiǎng)h除一個(gè)分區(qū)的數(shù)據(jù),并把數(shù)據(jù)合并到另外一個(gè)分區(qū)中。你能從下圖看出結(jié)論嗎?

 

(圖1:分區(qū)函數(shù)為右邊界)

 

(圖2:分區(qū)函數(shù)為左邊界)

結(jié)論:刪除的這個(gè)邊界值(boundary_value)屬于哪個(gè)分區(qū),那么就會(huì)刪除這個(gè)分區(qū),再向鄰近的分區(qū)合并。鄰近的意思是以這個(gè)邊界值為臨界點(diǎn)的兩個(gè)分區(qū)。圖1與圖2就很好的解釋了這個(gè)結(jié)論。

原文鏈接:http://www.cnblogs.com/gaizai/archive/2010/11/05/1870071.html

【編輯推薦】

  1. SQL Server復(fù)災(zāi) 你懂了嗎?
  2. SQL Server管理 這些你懂嗎?
  3. 客戶的一次疏忽,DBA的一次噩夢(mèng)
  4. 單數(shù)據(jù)庫(kù)vs多數(shù)據(jù)庫(kù),單實(shí)例vs多實(shí)例 效率測(cè)試
  5. 關(guān)于Update在不同數(shù)據(jù)庫(kù)的使用
責(zé)任編輯:艾婧 來源: 聽風(fēng)吹雨的博客
相關(guān)推薦

2010-11-05 16:56:43

SQL Server

2010-07-19 11:10:58

SQL Server

2010-09-13 11:09:34

SQL SERVER分

2010-07-21 10:36:18

SQL Server

2010-07-08 17:40:27

2010-07-08 12:52:58

SQL Server

2021-01-19 05:39:17

SQLServer變量

2010-07-02 14:46:20

SQL Server數(shù)

2010-07-15 11:36:21

SQL Server歷

2010-07-26 14:43:31

SQL Server存

2010-07-01 12:56:07

SQL Server表

2010-07-08 17:15:04

SQL Server存

2010-07-23 15:33:05

SQL Server鎖

2010-11-10 14:47:11

SQL Server創(chuàng)

2011-04-18 10:13:15

SQL Server 自動(dòng)化表分區(qū)

2010-07-15 15:15:48

SQL Server使

2010-06-28 12:46:09

SQL Server

2021-05-09 22:48:40

SQL數(shù)據(jù)庫(kù)變量

2011-04-11 14:18:44

SQL Server數(shù)圖片

2010-07-14 09:17:17

SQL Server數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)