美文网首页
mysql分区表

mysql分区表

作者: codingBen | 来源:发表于2018-02-12 16:40 被阅读0次

    首先检查Mysql服务器是否支持分区表:

    mysql>show plugins

    如果显示有partition项,那么就是有支持分区表功能的

    分区表:在逻辑上为一个表,在物理上储存在多个文件中

    partition by hash(key) partitions 4

    非分区表文件:.frm 与 .ibd

    分区表文件:ibd文件的个数和分区多少一致

    HASH分区的键值必须是一个INT 类型的值,或是通过函数可以转换成int类型

    RANGE分区:

    根据分区键值的范围把数据存储到表的不同分区中

    多个分区的范围要连续,但是不能重叠

    默认情况下使用values less than属性,即每个分区不包括指定的那个值

    PARTITION BY RANGE(customer_id)(

    PARTITION P0 VALUES LESS THAN(10000), 0~9999

    PARTITION P1 VALUES LESS THAN(20000),

    PARTITIOM P2 VALUES LESS THAN(30000)

    PARTITION P3 VALUES LESS THAN MAXVALUE 大于30000的部分

    )

    如果没有设置 less than maxvalue 那么就会出现超出范围无法插入的情况

    Range分区的适用场景:

      分区键为日期或者时间类型

      所有的查询中都包括分区键

      按照范围定期清除的信息

    List 分区:

      Partition by list(login_type)(

    partition p0 values in (1,3,5,7,9),

    partition p1 values in (2,4,6,8)

    )

    相关文章

      网友评论

          本文标题:mysql分区表

          本文链接:https://www.haomeiwen.com/subject/xcxdtftx.html