文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF(美国信函) - 39.9 MB
PDF(A4) - 40.0 MB
手册页(TGZ) - 258.5 KB
手册页(Zip) - 365.5 KB
信息(Gzip) - 4.0 MB
信息(Zip) - 4.0 MB


MySQL 8.4 参考手册  /  InnoDB 存储引擎  /  InnoDB 限制

17.22 InnoDB 限制

本节介绍 InnoDB 存储引擎的限制。

  • 您不能创建列名与内部 InnoDB 列(包括 DB_ROW_IDDB_TRX_IDDB_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 STATUS 不提供 InnoDB 表的准确统计信息,但表的保留物理大小除外。行计数只是 SQL 优化中使用的粗略估计。

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

    有关 InnoDB 如何处理 SELECT COUNT(*) 语句的信息,请参阅 COUNT() 描述,位于 第 14.19.1 节,“聚合函数描述”

  • 对于大于 16 KB 的页面大小,不支持 ROW_FORMAT=COMPRESSED

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

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

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

  • 有关与通用表空间相关的限制,请参阅 通用表空间限制

  • 有关与静态数据加密相关的限制,请参阅 加密限制