• 首页
  • css3教程
  • html5教程
  • jQuery手册
  • vue手册
  • php手册
  • MySQL手册
  • apache手册
  • redis手册
  • NDB群集中不支持或缺少的功能

    引用这些功能的语句,即使被有效地忽略了NDB,也必须在语法上有效。

    • 索引前缀。NDB表不支持索引前缀。如果前缀被用作诸如语句索引规范的一部分CREATE TABLEALTER TABLE或者CREATE 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)。有关更多信息,请参见“ NDB群集复制”。

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

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

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

      与其他存储引擎,你可以创建一个存储生成列的索引,但是你应该记住,NDB使用DataMemory的生成列的存储以及IndexMemory用于索引。有关示例,请参见 NDB Cluster中的JSON列和间接索引。

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

    注意

    有关与中有关事务处理限制的更多信息,请参见“ NDB群集中与事务处理有关的限制”NDB