MySQL 9.0 发行说明
本节介绍 InnoDB
存储引擎的限制和局限性。
您不能创建列名与内部
InnoDB
列(包括DB_ROW_ID
、DB_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 STATUS
不会为InnoDB
表提供准确的统计信息,除了表保留的物理大小。行计数只是 SQL 优化中使用的粗略估计。InnoDB
不会保留表中行的内部计数,因为并发事务可能会在同一时间““看到””不同数量的行。因此,SELECT COUNT(*)
语句仅计算当前事务可见的行。有关
InnoDB
如何处理SELECT COUNT(*)
语句的信息,请参阅COUNT()
在 第 14.19.1 节“聚合函数说明” 中的描述。对于大于 16KB 的页面大小,不支持
ROW_FORMAT=COMPRESSED
。使用特定
InnoDB
页面大小(innodb_page_size
)的 MySQL 实例不能使用使用不同页面大小的实例的数据文件或日志文件。有关使用可传输表空间 功能导入表相关的限制,请参阅表导入限制。
有关在线 DDL 的限制,请参阅 第 17.12.8 节“在线 DDL 限制”。
有关通用表空间的限制,请参阅 通用表空间限制。
有关静态数据加密的限制,请参阅 加密限制。