小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

SQL2005分區(qū)表功能的知識要點(一):RANGE LEFT 與 RANGE RIGHT

 少年潤土 2015-05-20

(一).為范圍分區(qū)創(chuàng)建分區(qū)函數(shù)

范圍分區(qū)必須使用邊界條件進行定義。而且,即使通過 CHECK 約束對表進行了限制,也不能消除該范圍任一邊界的值。為了允許定期將數(shù)據(jù)移入該表,需要創(chuàng)建最后一個空分區(qū)。

在范圍分區(qū)中,首先定義邊界點:如果存在五個分區(qū),則定義四個邊界點值,并指定每個值是第一個分區(qū)的上邊界 (LEFT) 還是第二個分區(qū)的下邊界 (RIGHT)。根據(jù) LEFT 或 RIGHT 指定,始終有一個空分區(qū),因為該分區(qū)沒有明確定義的邊界點。

具體來講,如果分區(qū)函數(shù)的第一個值(或邊界條件)是 '20001001',則邊界分區(qū)中的值將是:

對于 LEFT

第一個分區(qū)是所有小于或等于 '20001001' 的數(shù)據(jù)

第二個分區(qū)是所有大于 '20001001' 的數(shù)據(jù)

對于 RIGHT

第一個分區(qū)是所有小于 '20001001' 的數(shù)據(jù)

第二個分區(qū)是所有大于或等于 '20001001' 數(shù)據(jù)

由于范圍分區(qū)可能在 datetime 數(shù)據(jù)中進行定義,因此必須了解其含義。使用 datetime 具有某種含義:即總是同時指定日期和時間。未定義時間值的日期表示時間部分為“0”的 12:00 A.M。如果將 LEFT 與此類數(shù)據(jù)結(jié)合使用,則日期為 10 月 1 日 12:00 A.M. 的數(shù)據(jù)將位于第一個分區(qū),而 10 月份的其他數(shù)據(jù)將位于第二個分區(qū)。從邏輯上講,最好將開始值與 RIGHT 結(jié)合使用,而將結(jié)束值與 LEFT 結(jié)合使用。下面的三個子句將創(chuàng)建邏輯上相同的分區(qū)結(jié)構(gòu):

RANGE LEFT FOR VALUES ('20000930 23:59:59.997',
               '20001231 23:59:59.997', 
               '20010331 23:59:59.997',
               '20010630 23:59:59.997')

RANGE RIGHT FOR VALUES ('20001001 00:00:00.000', '20010101 00:00:00.000', '20010401 00:00:00.000', '20010701 00:00:00.000')

RANGE RIGHT FOR VALUES ('20001001', '20010101', '20010401', '20010701')

注意:此處使用 datetime 數(shù)據(jù)類型確實增加了一定的復雜性,但您需要確保設(shè)置正確的邊界情況。請注意使用 RIGHT 的簡單性,因為默認時間為 12:00:00.000 A.M。對于 LEFT,復雜性增加是因為 datetime 數(shù)據(jù)類型具有精度。必須選擇 23:59:59.997 的原因在于,datetime 數(shù)據(jù)無法保證毫秒級別的精度。相反,datetime 數(shù)據(jù)的精度在 3.33 毫秒內(nèi)。使用 23:59:59.999 這個確切的時間值是不行的,因為該值將被舍入到最接近的時間值,即第二天的 12:00:00.000 A.M。由于進行了這種舍入,將無法正確定義邊界。對于 datetime 數(shù)據(jù),必須對明確提供的毫秒值加倍小心。

注意:分區(qū)函數(shù)還允許將函數(shù)作為分區(qū)函數(shù)定義的一部分。您可以使用 DATEADD(ms,-3,'20010101'),而不是使用 '20001231 23:59:59.997' 明確定義時間。

要在四個活動分區(qū)(每個分區(qū)代表一個日歷季度)中存儲四分之一的 Orders 數(shù)據(jù),并創(chuàng)建第五個分區(qū)以備將來使用(還是作為占位符,用于在分區(qū)表中移入和移出數(shù)據(jù)),請將 LEFT 分區(qū)函數(shù)與以下四個邊界條件結(jié)合使用:

CREATE PARTITION FUNCTION OrderDateRangePFN(datetime)
AS
RANGE LEFT FOR VALUES ('20000930 23:59:59.997',
            '20001231 23:59:59.997',
            '20010331 23:59:59.997',
            '20010630 23:59:59.997')

記住,定義四個邊界點將創(chuàng)建五個分區(qū)。通過查看以下數(shù)據(jù)集檢查此分區(qū)創(chuàng)建的數(shù)據(jù)集:

邊界點 '20000930 23:59:59.997' 作為 LEFT(設(shè)置模式):

最左側(cè)的分區(qū)將包含所有小于或等于 '20000930 23:59:59.997' 的值

邊界點 '20001231 23:59:59.997':

第二個分區(qū)將包含所有大于 '20000930 23:59:59.997' 但小于或等于 '20001231 23:59:59.997' 的值

邊界點 '20010331 23:59:59.997':

第三個分區(qū)將包含所有大于 '20001231 23:59:59.997' 但小于或等于 '20010331 23:59:59.997' 的值

邊界點 '20010630 23:59:59.997':

第四個分區(qū)將包含所有大于 '20010331 23:59:59.997' 但小于或等于 '20010630 23:59:59.997' 的值

最后,第五個分區(qū)將包含所有大于 '20010630 23:59:59.997' 的值。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多