NDB群集中与数据库对象相关联的限制
使用NDBCLUSTER
存储引擎时,某些数据库对象(例如表和索引)具有不同的限制:
- 数据库对象数。单个NDB群集中所有
NDB
数据库对象(包括数据库,表和索引)的最大数量限制为20320。 - 每个表的属性。可以属于给定表的最大属性数(即列和索引)为512。
- 每个键的属性。每个键的最大属性数为32。
行大小。从NDB 8.0.18开始,任何一行的最大允许大小为30000字节,在NDB 8.0.17和更早版本中,此限制为14000字节。
每列
BLOB
或每一TEXT
列占总数的256 + 8 = 264个字节;这包括JSON
列。有关这些类型的更多信息,请参见字符串类型存储需求和JSON存储需求。另外,
NDB
表的固定宽度列的最大偏移量为8188字节。尝试创建违反此限制的表失败,并显示NDB错误851 超出固定大小列的最大偏移量。对于基于内存的列,您可以通过使用可变宽度的列类型(例如,VARCHAR
将该列定义为或)来解决此限制COLUMN_FORMAT=DYNAMIC
。这不适用于存储在磁盘上的列。对于基于磁盘的列,您可以通过对表的一个或多个基于磁盘的列进行重新排序,以使除基于磁盘的列之外的所有列的合并宽度最后排在表中。CREATE TABLE
用于创建表的语句不超过8188字节,减去对某些数据类型(例如CHAR
或)执行的任何可能的舍入VARCHAR
。否则,必须对一个或多个有问题的列使用基于内存的存储。- 每个表的BIT列存储。
BIT
给定NDB
表中使用的所有列的最大组合宽度为 4096。 - 固定的列存储。 NDB Cluster 8.0在
FIXED
列中的每个数据片段最多支持128 TB 。