Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Unsupported or Missing Features in NDB Cluster

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

有一些功能在其他存储引擎中受支持,但是在 NDB 表中不支持。尝试在 NDB 集群中使用这些功能不会引发错误本身;然而,错误可能会在应用程序中出现,因为这些功能没有被支持或执行。语句引用这些功能,即使被 NDB 忽视,也必须是语法正确的。

  • 索引前缀。 索引前缀在 NDB 表中不受支持。如果在语句中,如 CREATE TABLEALTER TABLECREATE INDEX,使用了前缀,NDB 不会创建该前缀。

    包含索引前缀的语句,创建或修改 NDB 表,必须仍然是语法正确的。例如,以下语句总是失败,错误代码为 1089 Incorrect prefix key; the used key part isn't a string, the used length is longer than the key part, or the storage engine doesn't support unique prefix keys,无论存储引擎是什么:

    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 集群复制”,以获取更多信息。

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

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

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

    与其他存储引擎一样,您可以在存储生成列上创建索引,但请注意 NDB 使用 DataMemory 存储生成列,以及 IndexMemory 存储索引。请参阅 JSON 列和间接索引在 NDB 集群,以获取示例。

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

Note

请参阅 第 25.2.7.3 节,“NDB 集群中的事务处理限制”,以获取更多关于 NDB 集群中事务处理限制的信息。