MySQL 8.4 Release Notes
17.22 InnoDB 限制和局限性
本节描述了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节,“聚合函数描述”中。 -
ROW_ FORMAT=COMPRESSED
不支持页面大小大于16KB。 -
使用特定
InnoDB
页面大小(innodb_page_size
)的MySQL实例不能使用来自不同页面大小实例的数据文件或日志文件。 -
关于使用Transportable Tablespaces特性的表导入限制,请参阅Table Import Limitations。
-
关于在线DDL的限制,请参阅第17.12.8节,“在线DDL限制”。
-
关于一般表空间的限制,请参阅一般表空间限制。
-
关于数据在休眠状态加密的限制,请参阅加密限制。