## 15.23 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.html)不提供准确的统计数据`InnoDB`表保留的物理大小除外。行数只是 SQL 优化中使用的粗略估计。

-   `InnoDB`不会保留表中的内部行数，因为并发事务可能同时“看到”不同数量的行。所以，`选择计数（*）`语句只计算对当前事务可见的行。

    有关如何`InnoDB`流程`选择计数（*）`声明，请参阅[`数数（）`](aggregate-functions.html#function_count)描述在[第 12.20.1 节，“聚合函数描述”](aggregate-functions.html).

-   `ROW_FORMAT=压缩`不支持大于 16KB 的页面大小。

-   使用特定的 MySQL 实例`InnoDB`页面大小 （[`innodb_page_size`](innodb-parameters.html#sysvar_innodb_page_size)) 不能使用来自使用不同页面大小的实例的数据文件或日志文件。

-   对于与使用导入表相关的限制*可传输表空间*功能，见[表导入限制](innodb-statistics-estimation.html).

-   有关与在线 DDL 相关的限制，请参阅[第 15.12.8 节，“在线 DDL 限制”](innodb-online-ddl-limitations.html).

-   有关与通用表空间相关的限制，请参见[一般表空间限制](general-tablespaces.html#general-tablespaces-limitations).

-   有关与静态数据加密相关的限制，请参阅[加密限制](innodb-data-encryption.html#innodb-data-encryption-limitations).
