21.1.7.5 与 NDB 群集中的数据库对象相关联的限制

使用NDBCLUSTER存储引擎时,某些数据库对象(例如 table 和索引)具有不同的限制:

  • 数据库和 table 名. 使用NDB存储引擎时,数据库名和 table 名的最大允许长度为 63 个字符。使用数据库名称或 table 名称的长度超过此限制的语句将失败,并显示相应的错误。

  • 数据库对象的数量. 单个 NDB 群集中(包括数据库,table 和索引)的所有 NDB个数据库对象的最大数量限制为 20320.

  • 每个 table 的属性. 可以属于给定 table 的最大属性数(即列和索引)为 512.

  • 每个键的属性. 每个键的最大属性数为 32.

  • 行大小. 任一行的最大允许大小为 14000 字节。

每个BLOBTEXT列占总数的 256 8 = 264 字节;这包括JSON列。有关这些类型的更多信息,请参见字符串类型存储要求以及JSON 存储要求

此外,NDBtable 的固定宽度列的最大偏移为 8188 字节;尝试创建违反此限制的 table 失败,并显示 NDB 错误 851,超出了固定大小列的最大偏移量。对于基于内存的列,您可以通过使用宽度可变的列类型(例如VARCHAR或将列定义为COLUMN_FORMAT=DYNAMIC)来解决此限制。这不适用于磁盘上存储的列。对于基于磁盘的列,您可以通过对 table 的一个或多个基于磁盘的列进行重新排序来做到这一点,从而使除用于创建 table 的CREATE TABLE语句中最后定义的基于磁盘的列之外的所有列的组合宽度不超过 8188 字节,减去对某些数据类型(如CHARVARCHAR)执行的任何可能的舍入;否则,必须对一个或多个有问题的列使用基于内存的存储。

  • 每个 table 的 BIT 列存储. 给定NDBtable 中使用的所有BIT列的最大组合宽度为 4096.

  • 固定的列存储. NDB Cluster 7.5 和更高版本在FIXED列中的每个数据片段最多支持 128 TB。 (以前是 16 GB.)