• MySQL数据库表分区-子分区


    子分区要求:

    • 子分区是分区表中每个分区的再次分割
    • 子分区只能是HASH或者KEY分区
    • 子分区可以用于特别大的表,在多个磁盘间分配数据和索引
    • 每个分区必须有相同数量的子分区
    • 如果在一个分区上的任何分区上使用SUBPARTITION 来明确定义任何子分区,那么就必须定义所有的子分区

    创建子分区

    子分区由两种创建方法,一种是不定义每个子分区子分区的名字和路径由分区决定,二是定义每个子分区的分区名和各自的路径

    1.不定义每个子分区

    复制代码
    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.定义每个子分区

    定义子分区可以为每个子分区定义具体的分区名和分区路径

    复制代码
    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.测试数据

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

    当往里面插入三条记录时,其中‘1989-01-01’和‘1989-04-19’存储在p0_s0分区中,‘1989-03-19’存储在p0_s1当中

    Top
    收藏
    关注
    评论
  • 相关阅读:
    openGL 纹理05
    音视频系列文章
    webrtc系列文章
    ! [rejected] master -> master (non-fast-forward)
    openGL 预定义变量04
    Android项目实战--手机卫士24--程序锁的实现以及逻辑
    大数记录之,大数乘整型数nyoj832
    与IO相关的等待事件troubleshooting-系列9
    发布文章时多少天、多少小时、多少分前发布功能
    CSS3之边框图片border-image
  • 原文地址:https://www.cnblogs.com/for917157ever/p/14864820.html
Copyright © 2020-2023  润新知