第24章分区
表分区不同于窗口函数使用的分区。有关窗口函数的信息,请参见 第12.21节“窗口函数”。
在MySQL 8.0中,分区支持由 InnoDB
和 NDB
存储引擎提供。
MySQL 8.0当前不支持使用除InnoDB
或以外的任何存储引擎对表进行分区NDB
,例如 MyISAM
。尝试使用不提供本机分区支持的存储引擎创建分区表失败,并显示 ER_CHECK_NOT_IMPLEMENTED。
Oracle提供的MySQL 8.0社区二进制文件包括InnoDB
和 NDB
存储引擎提供的分区支持。有关MySQL企业版二进制文件中提供的分区支持的信息,请参见 第30章,MySQL企业版。
如果要从源代码编译MySQL 8.0,则配置带有InnoDB
支持的构建足以产生具有分区分区InnoDB
表的二进制文件 。有关更多信息,请参见 第2.9节“从源代码安装MySQL”。
不需要进一步做任何事情来启用分区支持 InnoDB
(例如,文件中不需要特殊条目my.cnf
)。
无法禁用InnoDB
存储引擎的分区支持 。
有关分区和分区概念的介绍,请参见第24.1节“ MySQL中的分区概述”。
支持多种类型的分区以及子分区。请参见第24.2节“分区类型”和 第24.2.6节“子分区”。
第24.3节“分区管理”介绍了在现有分区表中添加,删除和更改分区的方法。
第24.3.4节“分区维护”讨论了与分区表一起使用的表维护命令。
数据库中 的PARTITIONS
表 INFORMATION_SCHEMA
提供有关分区和分区表的信息。有关更多信息,请参见 第26.21节“ INFORMATION_SCHEMA分区表”。有关针对该表的查询的一些示例,请参见 第24.2.7节“ MySQL分区如何处理NULL”。
有关MySQL 8.0中分区的已知问题,请参见 第24.6节“分区的限制和限制”。
当使用分区表时,您可能还会发现以下资源很有用。
其他资源。 有关MySQL中用户定义的分区的其他信息来源包括:
-
这是对MySQL分区技术感兴趣或正在尝试的人的正式讨论论坛。它具有MySQL开发人员和其他人员的公告和更新。它由分区开发和文档编制团队的成员进行监视。
-
MySQL分区架构师和首席开发人员MikaelRonström经常在此处发布有关他在MySQL分区和NDB集群上的工作的文章。
-
一个MySQL新闻站点,其中包含与MySQL相关的博客,使用我的MySQL的任何人都应该对此感兴趣。我们鼓励您在此处检查指向由MySQL分区工作的人保留的博客的链接,或者将您自己的博客添加到其中。
-