某些数据库对象(例如表和索引)在使用
NDBCLUSTER
存储引擎时有不同的限制:
数据库对象的数量。 单个 NDB Cluster 中所有 数据库对象(包括数据库、表和索引) 的最大数量限制为 20320。
NDB
每个表的属性。 可以属于给定表的属性(即列和索引)的最大数量是 512。
每个键的属性。 每个键的最大属性数为 32。
行大小。 在 NDB 8.0 中,任何一行的最大允许大小为 30000 字节(从之前版本的 14000 字节增加)。
每个
BLOB
或TEXT
列为此总数贡献 256 + 8 = 264 个字节;这包括JSON
专栏。有关这些类型的更多信息,请参阅 String Type Storage Requirements以及JSON Storage Requirements。此外,
NDB
表的固定宽度列的最大偏移量为 8188 字节;尝试创建违反此限制的表失败,并出现 NDB 错误 851 Maximum offset for fixed-size columns exceeded。对于基于内存的列,您可以通过使用可变宽度的列类型来解决此限制,例如VARCHAR
或将列定义为COLUMN_FORMAT=DYNAMIC
;这不适用于存储在磁盘上的列。对于基于磁盘的列,您可以通过重新排序表的一个或多个基于磁盘的列来实现这一点,这样除了最后定义的基于磁盘的列之外的所有列的组合宽度CREATE TABLE
用于创建表的语句不超过 8188 字节,减去对某些数据类型(例如CHAR
or )执行的任何可能的舍入VARCHAR
;否则,有必要对一个或多个有问题的列使用基于内存的存储。每个表的 BIT 列存储。
BIT
给定表中使用的所有列 的最大组合宽度为NDB
4096。固定列存储。 NDB Cluster 8.0 支持列中每个数据片段最大 128 TB
FIXED
。