最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL分區(qū)之子分區(qū)詳解

 更新時(shí)間:2022年04月13日 10:46:57   作者:pursuer.chen  
子分區(qū)(subpartition)是分區(qū)表中對(duì)每個(gè)分區(qū)的再次分割,又被稱為復(fù)合分區(qū),下面這篇文章主要給大家介紹了關(guān)于MySQL分區(qū)之子分區(qū)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

介紹

子分區(qū)其實(shí)是對(duì)每個(gè)分區(qū)表的每個(gè)分區(qū)進(jìn)行再次分隔,目前只有RANGE和LIST分區(qū)的表可以再進(jìn)行子分區(qū),子分區(qū)只能是HASH或者KEY分區(qū)。子分區(qū)可以將原本的數(shù)據(jù)進(jìn)行再次的分區(qū)劃分。

一、創(chuàng)建子分區(qū)

子分區(qū)由兩種創(chuàng)建方法,一種是不定義每個(gè)子分區(qū)子分區(qū)的名字和路徑由分區(qū)決定,二是定義每個(gè)子分區(qū)的分區(qū)名和各自的路徑

1.不定義每個(gè)子分區(qū)

CREATE TABLE tb_sub (id INT, purchased DATE)
    PARTITION BY RANGE( YEAR(purchased) )
    SUBPARTITION BY HASH( TO_DAYS(purchased) )
    SUBPARTITIONS 2 (
        PARTITION p0 VALUES LESS THAN (1990),
        PARTITION p1 VALUES LESS THAN (2000),
        PARTITION p2 VALUES LESS THAN MAXVALUE
    );
SELECT PARTITION_NAME,PARTITION_METHOD,PARTITION_EXPRESSION,PARTITION_DESCRIPTION,TABLE_ROWS,SUBPARTITION_NAME,SUBPARTITION_METHOD,SUBPARTITION_EXPRESSION 
FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA=SCHEMA() AND TABLE_NAME='tb_sub';

2.定義每個(gè)子分區(qū)

定義子分區(qū)可以為每個(gè)子分區(qū)定義具體的分區(qū)名和分區(qū)路徑

CREATE TABLE tb_sub_ev (id INT, purchased DATE)
    PARTITION BY RANGE( YEAR(purchased) )
    SUBPARTITION BY HASH( TO_DAYS(purchased) ) (
        PARTITION p0 VALUES LESS THAN (1990) (
            SUBPARTITION s0,
            SUBPARTITION s1
        ),
        PARTITION p1 VALUES LESS THAN (2000) (
            SUBPARTITION s2,
            SUBPARTITION s3
        ),
        PARTITION p2 VALUES LESS THAN MAXVALUE (
            SUBPARTITION s4,
            SUBPARTITION s5
        )
    );

3.測(cè)試數(shù)據(jù)

INSERT INTO tb_sub_ev() VALUES(1,'1989-01-01'),(2,'1989-03-19'),(3,'1989-04-19');

當(dāng)往里面插入三條記錄時(shí),其中‘1989-01-01’和‘1989-04-19’存儲(chǔ)在p0_s0分區(qū)中,‘1989-03-19’存儲(chǔ)在p0_s1當(dāng)中

二、分區(qū)管理

分區(qū)管理和RANGE、LIST的分區(qū)管理是一樣的

1.合并分區(qū)

將p0,p1兩個(gè)分區(qū)合并

ALTER TABLE tb_sub_ev REORGANIZE PARTITION p0,p1 INTO (
    PARTITION m1 VALUES LESS THAN (2000)
    ( SUBPARTITION n0,
      SUBPARTITION n1
     ) 
    
);

注意:合并分區(qū)的子分區(qū)也必須是兩個(gè),這點(diǎn)需要理解,因?yàn)楸仨毢蛣?chuàng)建分區(qū)時(shí)每個(gè)分區(qū)只有兩個(gè)子分區(qū)保持一致,合并分區(qū)不會(huì)造成數(shù)據(jù)的丟失。

2.拆分分區(qū)

ALTER TABLE tb_sub_ev REORGANIZE PARTITION m1 INTO (
     PARTITION p0 VALUES LESS THAN (1990) (
            SUBPARTITION s0,
            SUBPARTITION s1
        ),
        PARTITION p1 VALUES LESS THAN (2000) (
            SUBPARTITION s2,
            SUBPARTITION s3
        )
    
);

同樣,拆分分區(qū)也必須保證每個(gè)分區(qū)是兩個(gè)子分區(qū)。

3.刪除分區(qū)

ALTER TABLE  tb_sub_ev DROP PARTITION P0;

注意:由于分區(qū)是RANGE和LIST分區(qū),所以刪除分區(qū)也是同RANGE和LIST分區(qū)一樣,這里只能對(duì)每個(gè)分區(qū)進(jìn)行刪除,不能針對(duì)每個(gè)子分區(qū)進(jìn)行刪除操作,刪除分區(qū)后子分區(qū)連同數(shù)據(jù)一并被刪除。

三、錯(cuò)誤的子分區(qū)創(chuàng)建

1.要不不定義各個(gè)子分區(qū)要不就每個(gè)都需要定義

CREATE TABLE tb_sub_ev_nex (id INT, purchased DATE)
    PARTITION BY RANGE( YEAR(purchased) )
    SUBPARTITION BY HASH( TO_DAYS(purchased) ) (
        PARTITION p0 VALUES LESS THAN (1990) (
            SUBPARTITION s0,
            SUBPARTITION s1
        ),
        PARTITION p1 VALUES LESS THAN (2000),
        PARTITION p2 VALUES LESS THAN MAXVALUE (
            SUBPARTITION s4,
            SUBPARTITION s5
        )
    );

這里由于分區(qū)p1沒(méi)有定義子分區(qū),所以創(chuàng)建分區(qū)失敗

四、移除表的分區(qū)

ALTER TABLE tablename
REMOVE PARTITIONING ;

注意:使用remove移除分區(qū)是僅僅移除分區(qū)的定義,并不會(huì)刪除數(shù)據(jù)和drop PARTITION不一樣,后者會(huì)連同數(shù)據(jù)一起刪除

分區(qū)系列文章:

RANGE分區(qū):http://m.fzitv.net/article/244269.htm

COLUMN分區(qū):http://m.fzitv.net/article/96515.htm

LIST分區(qū):http://m.fzitv.net/article/244256.htm

HASH分區(qū):http://m.fzitv.net/article/244277.htm

KEY分區(qū):http://m.fzitv.net/article/244282.htm

子分區(qū):http://m.fzitv.net/article/244294.htm

指定各分區(qū)路徑:http://m.fzitv.net/article/244296.htm

分區(qū)索引以及分區(qū)介紹總結(jié):http://m.fzitv.net/article/244300.htm

總結(jié)

子分區(qū)的好處是可以對(duì)分區(qū)的數(shù)據(jù)進(jìn)行再分,這樣數(shù)據(jù)就更加的分散,同時(shí)還可以對(duì)每個(gè)子分區(qū)定義各自的存儲(chǔ)路徑,這部分內(nèi)容在指定各分區(qū)路徑的下一篇文章中單獨(dú)進(jìn)行講解。

到此這篇關(guān)于MySQL分區(qū)之子分區(qū)的文章就介紹到這了,更多相關(guān)MySQL 子分區(qū)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

鄄城县| 道孚县| 石首市| 嘉峪关市| 中牟县| 大埔区| 贵阳市| 迁西县| 同江市| 郸城县| 当阳市| 农安县| 靖边县| 得荣县| 黄浦区| 彰武县| 融水| 黎城县| 江津市| 繁峙县| 桃江县| 娄烦县| 荣昌县| 克拉玛依市| 监利县| 措勤县| 阳春市| 黄山市| 临城县| 定远县| 商水县| 东乌| 九龙县| 泾川县| 图木舒克市| 涟源市| 梨树县| 蚌埠市| 安多县| 宝鸡市| 壤塘县|