相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 36.3 mb
PDF (A4)- 36.3 mb
手册页(TGZ)- 235.4 kb
手册页(Zip)- 347.1 kb
信息(Gzip)- 3.3 mb
信息(邮政编码)- 3.3 mb
本手册节选

MySQL 5.7参考手册/.../ 关于存储引擎的分区限制

22.6.2存储引擎分区限制

以下限制适用于使用用户定义的表分区的存储引擎。

合并存储引擎。用户定义的分区和合并存储引擎不兼容。表使用合并存储引擎不支持分区。分区表不能合并。

FEDERATED存储引擎。分区的联邦不支持Tables;不可能创建分区联邦表。

CSV存储引擎。分区表使用CSV不支持存储引擎;不可能创建分区CSV表。

InnoDB存储引擎。InnoDB外键和MySQL分区不兼容。分区InnoDB表不能有外键引用,也不能有外键引用的列。InnoDB具有外键或被外键引用的表不能分区。

InnoDB子分区不支持使用多个磁盘。(目前只有MyISAM.)

此外,修改表…优化分区不能正确处理使用InnoDB存储引擎。使用修改表…重建分区而且修改表…分析分区而不是这样的桌子。有关更多信息,请参见章节13.1.8.1,“ALTER TABLE分区操作”

自定义分区和NDB存储引擎(NDB Cluster)。分区的关键(包括线性关键)是惟一支持的分区类型NDB存储引擎。在正常情况下,在NDB集群中使用除[]以外的任何分区类型创建NDB集群表是不可能的。线性关键,并且尝试这样做会失败并报错。

例外(不适用于生产):可以通过设置将NDB集群SQL节点上的system变量改为.如果您选择这样做,您应该知道表使用的分区类型不是(线性)的关键在生产环境中不支持。在这种情况下,可以创建和使用分区类型不同的表关键线性关键,但你这样做的风险完全由你自己承担

对象可以定义的最大分区数NDB该表取决于集群中数据节点和节点组的数量、使用的NDB集群软件版本以及其他因素。看到NDB和用户自定义分区,以获取更多资料。

从MySQL NDB集群7.5.2开始,一个数据库中每个分区可以存储的最大固定大小的数据量NDB表为128tb。在此之前,这是16gb。

创建表而且ALTER TABLE会导致用户分区的语句NDB表不满足以下两个要求中的一个或两个是不允许的,失败则报错:

  1. 表必须有显式的主键。

  2. 表分区表达式中列出的所有列都必须是主键的一部分。

例外。如果用户分区NDB表使用空列列表(即使用按键()分区按线性键()进行分区),则不需要显式的主键。

升级分区表。执行升级时,被分区的表关键并且使用任何存储引擎NDB必须转储和重新加载。

所有分区使用相同的存储引擎。分区表的所有分区必须使用相同的存储引擎,并且表整体使用的存储引擎必须相同。此外,如果没有在表级指定引擎,那么在创建或修改分区表时必须执行以下操作之一:

  • 指定任意引擎任何分区或子分区

  • 为指定引擎所有分区或子分区