Documentation Home
MySQL 8.0 参考手册  / 第 15 章 InnoDB 存储引擎  /  14.23 InnoDB 限制和限制

14.23 InnoDB 限制和限制

InnoDB本节描述存储引擎 的约束和限制 。

  • 您不能使用与内部InnoDB列名称(包括DB_ROW_IDDB_TRX_ID和 )相匹配的列名称创建表DB_ROLL_PTR。此限制适用于以任何字母大小写形式使用名称。

    mysql> CREATE TABLE t1 (c1 INT, db_row_id INT) ENGINE=INNODB;
    ERROR 1166 (42000): Incorrect column name 'db_row_id'
  • SHOW TABLE STATUSInnoDB 除了表保留的物理大小外,不提供表的准确统计信息。行数只是 SQL 优化中使用的粗略估计。

  • InnoDB不保留表中行的内部计数,因为并发事务可能同时 看到不同数量的行。因此,SELECT COUNT(*)语句只对当前事务可见的行进行计数。

    有关如何InnoDB处理 SELECT COUNT(*)语句的信息,请参阅 第COUNT()12.19.1 节,“聚合函数说明”中的说明。

  • 不能保证InnoDB页面大小大于 16KB 时可以正常运行。编译或运行InnoDB可能会出现问题。特别是,ROW_FORMAT=COMPRESSEDBarracuda文件格式中假定页面大小最大为 16KB 并使用 14 位指针。

  • 使用特定InnoDB 页面大小 ( innodb_page_size) 的 MySQL 实例不能使用来自使用不同页面大小的实例的数据文件或日志文件。

  • InnoDB不支持空间数据类型列的索引。

  • 有关使用可 传输表空间功能导入表的相关限制,请参阅 表导入限制

  • 有关与在线 DDL 相关的限制,请参阅 第 14.13.6 节,“在线 DDL 限制”