扫码阅读
手机扫码阅读
MySQL 表分区?涨知识了!

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。


江南一点雨
扫码关注公众号
什么是表分区
表分区是MySQL数据库功能,它允许物理上将一张表对应的文件分割成多个小块,提高数据查找速度并允许数据分配到不同磁盘。从MySQL 5.1版本开始支持分区,分区功能不依赖于存储引擎。
分区的两种方式
2.1 水平切分
水平切分是将表按照数据行切分到多个数据库实例中,每个表中包含部分数据行。
2.2 垂直切分
垂直切分是将不同的表放到不同的数据库实例中,每个实例中表的数据是完整的。MySQL只支持水平分区。
为什么需要表分区
表分区允许存储更多数据,简化数据维护工作,提高部分查询效率,利用多硬件设备以及避免特殊瓶颈。但是,表分区也有限制,如最多1024个分区,分区字段含有主键或唯一索引列时,需包含所有相关列,不支持外键约束等。
分区实践
4.1 RANGE 分区
RANGE分区根据字段值进行分区,通常用于按日期分区。
4.2 LIST 分区
LIST分区基于列值匹配离散值集合中的值。
4.3 HASH 分区
HASH分区将数据均匀分布到多个分区。
4.4 KEY 分区
KEY分区与HASH分区类似,但支持更多数据类型。
4.5 COLUMNS 分区
COLUMNS分区支持整型、日期、字符串类型,方便进行多字段分区。
常见分区命令
常用分区命令包含添加分区、删除分区、删除所有分区、重新定义分区等。
小结
MySQL表分区与MyCat的分库分表策略类似,但不需要额外工具,可以直接在MySQL中操作实现。
想要了解更多内容?


江南一点雨
扫码关注公众号
江南一点雨的其他文章
加入社区微信群
与行业大咖零距离交流学习


PMO实践白皮书
白皮书上线
白皮书上线