14.24 InnoDB 限制和限制

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

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

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

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