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

[](<>)

其他存储引擎支持的许多功能不支持[`新开发银行`](mysql-cluster.html)表。尝试在 NDB Cluster 中使用这些功能中的任何一个都不会导致错误或本身错误；但是，在期望支持或强制执行这些功能的应用程序中可能会发生错误。引用这些特性的语句，即使被有效地忽略`新开发银行`, 必须在语法上和其他方面有效。

-   **索引前缀。**不支持索引的前缀`新开发银行`表。如果前缀用作语句中索引规范的一部分，例如[`创建表`](create-table.html),[`更改表`](alter-table.html)， 要么[`创建索引`](create-index.html), 前缀不是由`新开发银行`.

    包含索引前缀的语句，并创建或修改`新开发银行`表，必须在语法上仍然有效。例如，以下语句总是失败，并出现错误 1089 不正确的前缀键；使用的键部分不是字符串，使用的长度比键部分长，或者存储引擎不支持唯一前缀键，无论存储引擎如何：

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

    这发生在 SQL 语法规则中，即没有索引的前缀可能大于自身。

-   **保存点和回滚。**保存点和回滚到保存点被忽略，如[`MyISAM`](myisam-storage-engine.html).

-   **提交的持久性。**磁盘上没有持久提交。提交被复制，但不能保证日志在提交时刷新到磁盘。

-   **复制。**不支持基于语句的复制。采用[`--binlog-格式=行`](replication-options-binary-log.html#sysvar_binlog_format)（要么[`--binlog-format=混合`](replication-options-binary-log.html#sysvar_binlog_format)) 设置集群复制时。看[第 23.7 节，“NDB 集群复制”](mysql-cluster-replication.html)， 了解更多信息。

    使用全局事务标识符 (GTID) 的复制与 NDB Cluster 不兼容，并且在 NDB Cluster 8.0 中不受支持。使用时不要启用 GTID`新开发银行`存储引擎，因为这很可能导致问题，包括 NDB Cluster Replication 失败。

    NDB Cluster 不支持半同步复制。

-   **生成的列。**这`新开发银行`存储引擎不支持虚拟生成列的索引。

    与其他存储引擎一样，您可以在存储的生成列上创建索引，但您应该记住`新开发银行`用途[`数据存储器`](mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory)用于存储生成的列以及[`索引内存`](mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexmemory)为索引。看[NDB Cluster 中的 JSON 列和间接索引](create-table-secondary-indexes.html#json-column-indirect-index-mysql-cluster)，例如。

    NDB Cluster 将存储的生成列中的更改写入二进制日志，但不记录对虚拟列所做的更改。这不应该影响 NDB Cluster 复制或之间的复制`新开发银行`和其他 MySQL 存储引擎。

笔记

看[第 23.2.7.3 节，“与 NDB 集群中的事务处理有关的限制”](mysql-cluster-limitations-transactions.html), 了解更多有关事务处理限制的信息[`新开发银行`](mysql-cluster.html).
