表不支持其他存储引擎支持的许多功能NDB
。尝试在 NDB Cluster 中使用这些功能中的任何一个本身都不会导致错误;但是,在希望支持或强制执行这些功能的应用程序中可能会出现错误。引用此类功能的语句,即使被 有效地忽略
NDB
,也必须在句法上和其他方面有效。
索引前缀。 表不支持索引前缀
NDB
。如果前缀用作语句中索引规范的一部分,例如CREATE TABLE
,ALTER TABLE
或CREATE INDEX
,则前缀不是由NDB
.包含索引前缀并创建或修改
NDB
表的语句必须在语法上仍然有效。例如,下面的语句总是失败,错误 1089 Incorrect prefix key;使用的键部分不是字符串,使用的长度比键部分长,或者存储引擎不支持唯一前缀键,无论存储引擎如何:CREATE TABLE t1 ( c1 INT NOT NULL, c2 VARCHAR(100), INDEX i1 (c2(500)) );
发生这种情况是由于 SQL 语法规则,即任何索引都不能具有大于自身的前缀。
保存点和回滚。 保存点和保存点的回滚被忽略,如
MyISAM
.提交的持久性。 磁盘上没有持久提交。提交被复制,但不能保证日志在提交时刷新到磁盘。
复制。 不支持基于语句的复制。在设置集群复制时使用
--binlog-format=ROW
(or )。--binlog-format=MIXED
有关更多信息,请参阅 第 18.7 节,“NDB Cluster 复制”。使用全局事务标识符 (GTID) 的复制与 NDB Cluster 不兼容,并且在 NDB Cluster 7.3 或 NDB Cluster 7.4 中不受支持。使用存储引擎时不要启用 GTID
NDB
,因为这很可能导致问题,包括 NDB Cluster Replication 失败。NDB Cluster 不支持半同步复制。
在集群之间进行复制时,可以在不同集群中的 SQL 节点之间使用 IPv6 地址,但给定集群中的所有连接都必须使用 IPv4 寻址。有关更多信息,请参阅 NDB Cluster 复制和 IPv6。