第 26 章 分区

本章讨论 用户定义分区

注意

表分区与窗口函数使用的分区不同。有关窗口函数的信息,请参阅 第 14.20 节,“窗口函数”

在 MySQL 9.0 中,分区支持由 InnoDBNDB 存储引擎提供。

MySQL 9.0 目前不支持使用除 InnoDBNDB 之外的任何存储引擎(例如 MyISAM)对表进行分区。尝试使用不提供原生分区支持的存储引擎创建分区表会导致错误 ER_CHECK_NOT_IMPLEMENTED

Oracle 提供的 MySQL 9.0 社区二进制文件包含由 InnoDBNDB 存储引擎提供的分区支持。有关 MySQL 企业版二进制文件中提供的分区支持的信息,请参阅 第 32 章,MySQL 企业版

如果您要从源代码编译 MySQL 9.0,则使用 InnoDB 支持配置构建就足以生成支持 InnoDB 表分区的二进制文件。有关更多信息,请参阅 第 2.8 节,“从源代码安装 MySQL”

无需进一步操作即可启用 InnoDB 的分区支持(例如,my.cnf 文件中不需要任何特殊条目)。

无法禁用 InnoDB 存储引擎的分区支持。

有关分区和分区概念的介绍,请参阅 第 26.1 节,“MySQL 分区概述”

支持多种类型的分区以及子分区;请参阅 第 26.2 节,“分区类型”第 26.2.6 节,“子分区”

第 26.3 节,“分区管理” 涵盖了在现有分区表中添加、删除和修改分区的各种方法。

第 26.3.4 节,“分区的维护” 讨论了用于分区表的表维护命令。

INFORMATION_SCHEMA 数据库中的 PARTITIONS 表提供了有关分区和分区表的的信息。有关更多信息,请参阅 第 28.3.21 节,“INFORMATION_SCHEMA PARTITIONS 表”;有关针对该表的查询示例,请参阅 第 26.2.7 节,“MySQL 分区如何处理 NULL”

有关 MySQL 9.0 中分区已知问题的详细信息,请参阅 第 26.6 节,“分区限制和局限性”

在使用分区表时,您可能还会发现以下资源很有用。

其他资源。 关于 MySQL 中用户定义分区的其他信息来源包括:

  • MySQL 分区论坛

    这是那些对 MySQL 分区技术感兴趣或正在尝试使用该技术的人的官方讨论论坛。它提供来自 MySQL 开发人员和其他人员的公告和更新。它由分区开发和文档团队成员进行监控。

  • PlanetMySQL

    一个 MySQL 新闻网站,提供与 MySQL 相关的博客,这些博客应该对任何使用 MySQL 的人都有帮助。我们鼓励您查看此网站,了解那些使用 MySQL 分区的博客的链接,或者将自己的博客添加到其中。