14.24 InnoDB 限制和限制
本节介绍了InnoDB
存储引擎的限制。
- 您不能创建具有与内部
InnoDB
列(包括DB_ROW_ID
,DB_TRX_ID
和DB_ROLL_PTR
在内)名称匹配的列名的 table。此限制适用于在任何大写字母中使用名称。
mysql> CREATE TABLE t1 (c1 INT, db_row_id INT) ENGINE=INNODB;
ERROR 1166 (42000): Incorrect column name 'db_row_id'
-
显示 table 格状态不提供
InnoDB
table 的准确统计信息,但 table 保留的物理大小除外。行数只是 SQL 优化中使用的粗略估计。 -
InnoDB
不保留 table 中行的内部计数,因为并发事务可能同时“看到”不同数量的行。因此,SELECT COUNT(*)
语句仅计算当前事务可见的行。
有关InnoDB
如何处理SELECT COUNT(*)
语句的信息,请参阅第 12.20.1 节“聚合函数描述”中的COUNT()描述。
-
页面大小大于 16KB 的不支持
ROW_FORMAT=COMPRESSED
。 -
使用特定
InnoDB
页面大小(innodb_page_size)的 MySQL 实例不能使用来自使用不同页面大小的实例的数据文件或日志文件。 -
有关使用可移动 table 空间功能导入 table 的限制,请参阅table 导入限制。
-
有关与在线 DDL 相关的限制,请参见第 14.13.6 节“在线 DDL 限制”。
-
有关与常规 table 空间相关的限制,请参见常规 table 空间限制。
-
有关静态数据加密的限制,请参见Encryption Limitations。