A number of features supported by other storage engines are not
NDB tables. Trying to
use any of these features in MySQL Cluster does not cause errors
in or of itself; however, errors may occur in applications that
expects the features to be supported or enforced. Statements
referencing such features, even if effectively ignored by
NDB, must be syntactically and otherwise
Index prefixes. Prefixes on indexes are not supported for
NDBtables. If a prefix is used as part of an index specification in a statement such as
ALTER TABLE, or
CREATE INDEX, the prefix is not created by
A statement containing an index prefix, and creating or modifying an
NDBtable, must still be syntactically valid. For example, the following statement always fails with Error 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, regardless of storage engine:
CREATE TABLEt1 ( c1 INT NOT NULL, c2 VARCHAR(100), INDEX i1 (c2(500)) );
This happens on account of the SQL syntax rule that no index may have a prefix larger than itself.
Savepoints and rollbacks. Savepoints and rollbacks to savepoints are ignored as in
Durability of commits. There are no durable commits on disk. Commits are replicated, but there is no guarantee that logs are flushed to disk on commit.
Replication. Statement-based replication is not supported. Use
--binlog-format=MIXED) when setting up cluster replication. See Section 18.6, “MySQL Cluster Replication”, for more information.
Replication using global transaction identifiers (GTIDs) is not compatible with MySQL Cluster, and is not supported in MySQL Cluster NDB 7.5. Do not enable GTIDs when using the
NDBstorage engine, as this is very likely to cause problems up to and including failure of MySQL Cluster Replication.
See Section 126.96.36.199, “Limits Relating to Transaction Handling in MySQL Cluster”,
for more information relating to limitations on transaction