文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (美国信纸) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  NDB Cluster 中不支持或缺少的功能

25.2.7.6 NDB Cluster 中不支持或缺少的功能

其他存储引擎支持的一些功能在 NDB 表中不支持。尝试在 NDB Cluster 中使用这些功能本身不会导致错误;但是,在期望支持或强制执行这些功能的应用程序中可能会出现错误。引用这些功能的语句,即使被 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 Cluster 复制”

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

    半同步复制在 NDB Cluster 中不支持。

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

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

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

注意

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