• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            DB2 V9表分區(qū)

            Posted on 2010-04-15 23:33 Prayer 閱讀(942) 評論(0)  編輯 收藏 引用 所屬分類: DB2
            使用自動方法創(chuàng)建示例分區(qū)表

                在創(chuàng)建示例分區(qū)表時,可以為每個數(shù)據(jù)分區(qū)指定范圍?分區(qū)表使用了數(shù)據(jù)組織方案,即,表數(shù)據(jù)根據(jù)該表中一個或多個表分區(qū)鍵列中的值分布到多個存儲對象(稱為數(shù)據(jù)分區(qū)或范圍)中?根據(jù)CREATE TABLE語句的PARTITION BY子句中指定的內(nèi)容,給定表的數(shù)據(jù)被劃分到多個存儲對象中?范圍由PARTITION BY子句的 STARTING FROM和ENDING AT值指定?這些存儲對象可以在不同的表空間中,也可以在相同表空間中?所有指定的表空間在下列方面必須相同:頁大小?擴(kuò)展數(shù)據(jù)塊大小?存儲機(jī)制(DMS 和 SMS)和類型(常規(guī)或大型),并且所有表空間必須位于相同數(shù)據(jù)庫分區(qū)組中?表分區(qū)功能簡化了表數(shù)據(jù)轉(zhuǎn)入和轉(zhuǎn)出以及管理工作,并且提高了索引布置靈活性和查詢處理效率?與普通的表相比,分區(qū)表包含的數(shù)據(jù)可以多得多?分區(qū)表最多可以有 32767 個數(shù)據(jù)分區(qū)?可以對分區(qū)表添加數(shù)據(jù)分區(qū)?將數(shù)據(jù)分區(qū)與分區(qū)表相連以及斷開數(shù)據(jù)分區(qū)與分區(qū)表的連接,并且,可以將一個表的多個數(shù)據(jù)分區(qū)范圍存儲在一個表空間中?不支持在分區(qū)表中使用XML和DATALINK等類型? 

                表分區(qū)鍵是一個或多個表列的有序集合?表分區(qū)鍵列中的值用來確定每個表行所屬的數(shù)據(jù)分區(qū)?選擇有效的表分區(qū)鍵列對于充分利用表分區(qū)功能的優(yōu)點(diǎn)來說十分關(guān)鍵?下列準(zhǔn)則可以幫助您為分區(qū)表選擇最有效的表分區(qū)鍵列:

            • 將范圍定義成與數(shù)據(jù)轉(zhuǎn)入大小相匹配?最常見的情況是根據(jù)日期或時間列對數(shù)據(jù)進(jìn)行分區(qū)?
            • 將范圍詳細(xì)程度定義為與數(shù)據(jù)轉(zhuǎn)出相匹配?最常見的情況是使用月份或季度?
            • 根據(jù)有益于消除分區(qū)的列進(jìn)行分區(qū)? 

                分區(qū)表可以包含下列數(shù)據(jù)類型,但不支持將它們用作表分區(qū)鍵列:

            • 用戶定義的類型(結(jié)構(gòu)化)
            • LONG VARCHAR
            • LONG VARCHAR FOR BIT DATA
            • BLOB
            • BINARY LARGE OBJECT
            • CLOB
            • CHARACTER LARGE OBJECT
            • DBCLOB
            • LONG VARGRAPHIC
            • REF
            • C變長字符串
            • Pascal變長字符串 

                數(shù)據(jù)分區(qū)是表的一部分行,這些行不與其他部分的行存儲在一起,并且按照 CREATE TABLE語句的PARTITION BY子句中提供的規(guī)范分組?如果一個表是使用PARTITION BY子句創(chuàng)建的,則該表是分區(qū)表?
            可以通過在 DB2 控制中心中使用“創(chuàng)建表”向?qū)Щ蛘咄ㄟ^使用 CREATE TABLE語句來創(chuàng)建示例分區(qū)表?要使用 DB2 CLP來創(chuàng)建示例分區(qū)表,請發(fā)出 CREATE TABLE 語句:

            CREATE TABLE < NAME > ( < column_name > < data_type > < null_attribute > ) IN < table space list > PARTITION BY RANGE ( < column expression > ) STARTING FROM < constant > ENDING < constant > EVERY < constant >

                自動生成方法十分簡單,它使您能夠快速方便地創(chuàng)建許多數(shù)據(jù)分區(qū)?此方法適合于創(chuàng)建基于日期或數(shù)值并且大小相等的范圍?如果選擇使用CREATE TABLE語句的EVERY子句來自動生成數(shù)據(jù)分區(qū),那么只能將一列用作表分區(qū)鍵?使用自動生成的語法格式(包含EVERY子句)創(chuàng)建的表在表分區(qū)鍵中只能使用數(shù)字或日期時間類型?在自動生成的語法格式中,不支持MINVALUE和MAXVALUE?范圍按升序排列?EVERY子句中的增量必須大于零?ENDING值必須大于或等于STARTING值?我們先來看一個最簡單的創(chuàng)建分區(qū)表的例子,在DB2CLP窗口中連上數(shù)據(jù)庫,發(fā)出CREATE TABLE命令,具體如清單10所示:

            - - 清單10 .創(chuàng)建示例分區(qū)表TEST1 

            C:\> DB2 CREATE TABLE TEST1 ( COL1 INT , COL2 INT ) PARTITION BY RANGE( COL2 ) ( STARTING FROM ( 1 ) INCLUSIVE ENDING AT ( 100 ) EXCLUSIVE EVERY ( 10 ) ) DB20000I SQL命令成功完成


                命令執(zhí)行成功,這樣我們就創(chuàng)建了一個示例分區(qū)表TEST1,其包含10個數(shù)據(jù)分區(qū),每個數(shù)據(jù)分區(qū)包含10個鍵值:
            ?
            1<=col2<11
            ? 11<=col2< 21
            ? . . . . . .
            ? 91 <=col2<= 100 

                STARTING子句指定數(shù)據(jù)分區(qū)范圍的下界?對于最低數(shù)據(jù)分區(qū)范圍來說,此子句是必需的(盡管可以將邊界定義為 MINVALUE)?INCLUSIVE表示將所有等于指定值的值都包括在包含此邊界的數(shù)據(jù)分區(qū)中?最低數(shù)據(jù)分區(qū)范圍是具有最低指定邊界的數(shù)據(jù)分區(qū)?清單10中STARTING參數(shù)指定整體數(shù)據(jù)范圍從1開始,其后的INCLUSIVE參數(shù)表示端值1包含在第一個數(shù)據(jù)分區(qū)內(nèi)? 

                ENDING(或 VALUES)子句指定數(shù)據(jù)分區(qū)范圍的上界?對于最高數(shù)據(jù)分區(qū)范圍來說,此子句是必需的(盡管可以將邊界定義為 MAXVALUE)?最高數(shù)據(jù)分區(qū)范圍是具有最高指定邊界的數(shù)據(jù)分區(qū)?EXCLUSIVE表示所有等于指定值的值都不包括在包含此邊界的數(shù)據(jù)分區(qū)中?清單10中ENDING參數(shù)表示整體數(shù)據(jù)范圍從到100為止,其后的EXCLUSIVE表示,最后一個數(shù)據(jù)分區(qū)不包含端值100? 

                如果未對某個數(shù)據(jù)分區(qū)指定ENDING子句,則下一個更大數(shù)據(jù)分區(qū)就必須指定STARTING子句?否則,如果未指定STARTING子句,則上一個數(shù)據(jù)分區(qū)就必須指定ENDING子句? 

                由于整體起始界限(1)包括端值,所以第一個數(shù)據(jù)分區(qū)(col2>= 1且col2< 11 )的起始值包括端值?同樣,由于整體結(jié)束界限(100)不包括端值,所以最后一個數(shù)據(jù)分區(qū)(col2 >= 91且col2<100)的結(jié)束界限不包括端值?其余 STARTING 值都包括端值,并且其余 ENDING 值全都不包括端值?每個數(shù)據(jù)分區(qū)都存放 n 個鍵值,其中 n 由 EVERY子句指定?由于沒有指定表空間,所以10個數(shù)據(jù)分區(qū)使用缺省表空間USERSPACE1?缺省情況下,索引將存儲在以下表空間中:USERSPACE1? 

                接下來我們創(chuàng)建一個稍微復(fù)雜些的示例分區(qū)表,在DB2CLP窗口中連上數(shù)據(jù)庫,發(fā)出CREATE TABLE命令,具體如清單11所示:

            - - 清單11 .創(chuàng)建示例分區(qū)表TEST2 

            C:\> DB2 CREATE TABLE TEST2 ( ID INTEGER NOT NULL , AGE INTEGER NOT NULL ) PARTITION BY RANGE ( AGE NULLS LAST ) ( STARTING FROM ( 1 ) INCLUSIVE ENDING AT ( 100 ) EXCLUSIVE EVERY ( 10 ) ) IN TABLESPACE1, TABLESPACE2, TABLESPACE3 CYCLE INDEX IN USERSPACE1 DB20000I SQL命令成功完成

                命令成功完成后,這樣我們創(chuàng)建了一個示例分區(qū)表TEST2,其包含10個數(shù)據(jù)分區(qū),每個數(shù)據(jù)分區(qū)包含10個鍵值:
            ?
            1<=AGE<11
            ? 11<=AGE< 21
            ? . . . . . . . . .
            ? 91 <=AGE< 100 

                由于沒有顯式給數(shù)據(jù)分區(qū)指定表空間,所以將使用循環(huán)法將3個表空間(TABLESPACE1,TABLESPACE2和TABLESPACE3)指定給10個數(shù)據(jù)分區(qū)?缺省情況下,索引將存儲在以下表空間中:USERSPACE1? 

                NULL 子句指定考慮數(shù)據(jù)分區(qū)布置時是將空值安排在高位置還是低位置?缺省情況下,將空值安排在高位置?在此情況下,將把表分區(qū)鍵列中的空值視為正無窮并放到以 MAXVALUE 結(jié)尾的范圍中?如果未定義這樣的數(shù)據(jù)分區(qū),就會將空值視為超出范圍的值?如果要排除表分區(qū)鍵列中的空值,請使用 NOT NULL約束?LAST 指定讓空值在排序的值列表中最后出現(xiàn)?FIRST 指定讓空值在排序的值列表中最先出現(xiàn)?PARTITION BY RANGE 指定表分區(qū)鍵為AGE,其后跟的NULLS LAST參數(shù)表示含有空值的數(shù)據(jù)行就會排到最后,您也可以在升序排序中使用NULLS FIRST,這樣含有空值的數(shù)據(jù)行會出現(xiàn)在第一個? 

                STARTING參數(shù)指定整體數(shù)據(jù)范圍從1開始,其后的INCLUSIVE參數(shù)表示端值1包含在第一個數(shù)據(jù)分區(qū)內(nèi),ENDING參數(shù)表示整體數(shù)據(jù)范圍從到100為止,其后的EXCLUSIVE表示,最后一個數(shù)據(jù)分區(qū)不包含端值100?由于整體起始界限(1)包括端值,所以第一個數(shù)據(jù)分區(qū)(AGE>= 1且AGE< 11 )的起始值包括端值?同樣,由于整體結(jié)束界限(100)不包括端值,所以最后一個數(shù)據(jù)分區(qū)(AGE>= 91且AGE<100)的結(jié)束界限不包括端值?其余 STARTING 值都包括端值,并且其余 ENDING 值全都不包括端值?每個數(shù)據(jù)分區(qū)都存放 n 個鍵值,其中 n 由 EVERY子句指定? 

                接下來我們創(chuàng)建示例分區(qū)表TEST3,用來對表數(shù)據(jù)進(jìn)行分區(qū)的列是RQ,表數(shù)據(jù)將存儲在下列表空間

                中:TABLESPACE1,TABLESPACE2和TABLESPACE3?缺省情況下,索引將存儲在以下表空間中:USERSPACE1?大數(shù)據(jù)將存儲在下列表空間中:LARGETBS1,LARGETBS2和LARGETBS3?在DB2CLP窗口中連上數(shù)據(jù)庫,發(fā)出CREATE TABLE命令,具體如清單12所示:

            - - 清單12 .自動創(chuàng)建示例分區(qū)表TEST3 

            C:\> DB2 CREATE TABLE TEST3 ( ID INTEGER NOT NULL , RQ DATE NOT NULL , IMAGE BLOB ( 1 M ) NOT NULL LOGGED NOT COMPACT ) PARTITION BY RANGE ( RQ NULLS LAST ) ( STARTING FROM ( '2007-01-01' ) INCLUSIVE ENDING AT ( '2007-12-31' ) INCLUSIVE EVERY ( 1 MONTHS ) ) IN TABLESPACE1 , TABLESPACE2, TABLESPACE3 CYCLE INDEX IN USERSPACE1 LONG IN LARGETBS1 , LARGETBS2 , LARGETBS3 CYCLE DB20000I SQL命令成功完成
                此語句生成 12 個數(shù)據(jù)分區(qū),每個數(shù)據(jù)分區(qū)包含 1 個鍵值:
            ?
            (RQ) >= ( ' 2007-01-01 ' ) , (RQ) < (' 2007-02-01 ' )
            ? (RQ) >= ( ' 2007-02-01 ' ) , (RQ) < (' 2007-03-01 ' )
            ? . . . . . .
            ? (RQ) >= ( ' 2007-12-01 ' ) , (RQ) <= (' 2007-12-31 ' ) 

                由于整體起始界限( ' 2007-01-01 ' )包括端值,所以第一個數(shù)據(jù)分區(qū)的起始值包括端值?同樣,由于整體結(jié)束界限(' 2007-12-31 ' )包括端值,所以最后一個數(shù)據(jù)分區(qū)的結(jié)束界限包括端值?其余 STARTING 值都包括端值,并且其余 ENDING 值也都包括端值?每個數(shù)據(jù)分區(qū)都存放 n 個鍵值,其中 n 由 EVERY 子句指定?使用公式 (start + every) 來確定每個數(shù)據(jù)分區(qū)的范圍末端?如果 START 到 END 的范圍無法整除 EVERY 值,最后一個數(shù)據(jù)分區(qū)包含的鍵值就會較少?
            精品久久综合1区2区3区激情| 亚洲日本va午夜中文字幕久久| 亚洲国产一成人久久精品| 久久精品桃花综合| 色欲综合久久中文字幕网| 日产精品久久久久久久性色| 精品国产91久久久久久久| 久久精品一区二区| 婷婷久久五月天| 久久免费精品一区二区| 2021国内精品久久久久久影院| 亚洲级αV无码毛片久久精品| 伊人久久大香线焦综合四虎| 久久无码AV中文出轨人妻| 9999国产精品欧美久久久久久| 久久无码AV中文出轨人妻| 久久青草国产精品一区| 亚洲国产另类久久久精品小说| 久久99热这里只有精品国产| 亚洲精品美女久久777777| 久久综合色之久久综合| 久久99国产精一区二区三区 | 久久超碰97人人做人人爱| 国产AV影片久久久久久| 色婷婷综合久久久久中文| 亚洲伊人久久综合影院| 国产精品伦理久久久久久| 精品久久久久久久无码| 亚洲综合伊人久久综合| 超级碰碰碰碰97久久久久| 99久久伊人精品综合观看| 狠狠色丁香久久婷婷综| 国产91色综合久久免费| 久久棈精品久久久久久噜噜| 亚洲精品乱码久久久久久| 性欧美丰满熟妇XXXX性久久久| 久久久精品人妻一区二区三区蜜桃| 亚洲精品国精品久久99热| 久久久久18| 久久综合色老色| 亚洲乱码精品久久久久..|