mysql分区表

首先检查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)

)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容