Documentation Home
MySQL 8.0 参考手册  / 第 23 章 MySQL NDB Cluster 8.0  / 23.2 NDB Cluster 概述  / 23.2.7 NDB Cluster 的已知限制  /  23.2.7.5 与 NDB Cluster 中的数据库对象关联的限制

23.2.7.5 与 NDB Cluster 中的数据库对象关联的限制

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

  • 数据库对象的数量。 单个 NDB Cluster 中所有 数据库对象(包括数据库、表和索引) 的最大数量限制为 20320。NDB

  • 每个表的属性。  可以属于给定表的属性(即列和索引)的最大数量是 512。

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

  • 行大小。  在 NDB 8.0 中,任何一行的最大允许大小为 30000 字节(从之前版本的 14000 字节增加)。

    每个BLOBTEXT列为此总数贡献 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 字节,减去对某些数据类型(例如 CHARor )执行的任何可能的舍入VARCHAR;否则,有必要对一个或多个有问题的列使用基于内存的存储。

  • 每个表的 BIT 列存储。 BIT给定表中使用的所有列 的最大组合宽度为 NDB4096。

  • 固定列存储。  NDB Cluster 8.0 支持列中每个数据片段最大 128 TB FIXED