MySQL 5.1 新增的分区(Partitioning)功能

旧的技术新闻:MySQL5.1.3 发布的时候新增了分区(Partitioning)功能。 在 MySQL 5.1 的手册中已经可以看到相关的技术描述

MySQL 目前支持水平分区,也就是针对行的分区,主要有四种分区类型:

  • RANGE 分区
  • LIST 分区
  • HASH 分区
  • KEY 分区 –类似 HASH 分区,只是要根据用户定义的表达式来进行分区

MySQL 的 Key 分区类型,和微软的 Yukon (SQL Server 2005) 的分区方式很类似的,相对灵活一些,而 Oracle 的复合分区则为范围分区与 HASH 的结合体,这样略失灵活,但是便于管理。

目前的 MySQL 分区实现上有限制:分区和索引必须是分区的。也就是说,MySQL 目前还没有类似 Oracle 全局索引(Global Index)的概念,而只支持 Local Index 。如果有时间的话,倒是很想测试一下 MySQL 分区的更多技术细节。

更多信息:参见我以前写的SQL Server 2005 与 Oracle Database 10g 在分区能力上的比较