文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  NDB 集群中不支持或缺失的功能

25.2.7.6 NDB 集群中不支持或缺失的功能

其他存储引擎支持的一些功能在 NDB 表中不受支持。尝试在 NDB 集群中使用任何这些功能本身不会导致错误;但是,在期望支持或强制执行这些功能的应用程序中可能会发生错误。引用此类功能的语句,即使实际上被 NDB 忽略,也必须在语法和其他方面有效。

  • 索引前缀。  NDB 表不支持索引前缀。如果在诸如 CREATE TABLEALTER TABLECREATE INDEX 之类的语句中将前缀用作索引规范的一部分,则 NDB 不会创建该前缀。

    包含索引前缀并创建或修改 NDB 表的语句在语法上仍然必须有效。例如,以下语句始终失败并显示错误 1089 错误的前缀键;使用的键部分不是字符串,使用的长度大于键部分,或者存储引擎不支持唯一前缀键,而不管存储引擎如何

    CREATE TABLE t1 (
        c1 INT NOT NULL,
        c2 VARCHAR(100),
        INDEX i1 (c2(500))
    );

    发生这种情况的原因是 SQL 语法规则:任何索引的前缀都不能大于自身。

  • 保存点和回滚。 保存点和对保存点的回滚将被忽略,如 MyISAM 中一样。

  • 提交的持久性。 磁盘上没有持久的提交。提交会被复制,但不能保证在提交时将日志刷新到磁盘。

  • 复制。 不支持基于语句的复制。设置集群复制时,请使用 --binlog-format=ROW(或 --binlog-format=MIXED)。有关更多信息,请参见 第 25.7 节“NDB 集群复制”

    使用全局事务标识符 (GTID) 进行复制与 NDB 集群不兼容,并且在 NDB 集群 8.4 中不受支持。使用 NDB 存储引擎时,请勿启用 GTID,因为这很可能会导致问题,包括 NDB 集群复制失败。

    NDB 集群不支持半同步复制。

  • 生成列。  NDB 存储引擎不支持对虚拟生成列进行索引。

    与其他存储引擎一样,您可以在存储的生成列上创建索引,但您应该记住,NDB 使用 DataMemory 来存储生成列,并使用 IndexMemory 来存储索引。有关示例,请参见 NDB 集群中的 JSON 列和间接索引

    NDB 集群将存储的生成列中的更改写入二进制日志,但不会记录对虚拟列所做的更改。这不应影响 NDB 集群复制或 NDB 与其他 MySQL 存储引擎之间的复制。

注意

有关 NDB 中事务处理限制的更多信息,请参见 第 25.2.7.3 节“与 NDB 集群中的事务处理相关的限制”