文档主页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  INFORMATION_SCHEMA INNODB_TABLESTATS 视图

28.4.26 INFORMATION_SCHEMA INNODB_TABLESTATS 视图

INNODB_TABLESTATS 表提供了有关 InnoDB 表的低级状态信息的视图。MySQL 优化器使用此数据来计算查询 InnoDB 表时要使用的索引。此信息来自内存数据结构,而不是存储在磁盘上的数据。没有相应的内部 InnoDB 系统表。

如果 InnoDB 表自上次服务器重新启动后已打开且尚未从表缓存中老化,则它们将在此视图中表示。持久性统计信息可用的表始终在此视图中表示。

仅对修改索引列的 DELETEUPDATE 操作更新表统计信息。仅修改非索引列的操作不会更新统计信息。

ANALYZE TABLE 清除表统计信息并将 STATS_INITIALIZED 列设置为 Uninitialized。下次访问该表时将再次收集统计信息。

有关相关使用信息和示例,请参阅 第 17.15.3 节 “InnoDB INFORMATION_SCHEMA 模式对象表”

INNODB_TABLESTATS 表包含以下列

  • TABLE_ID

    表示可获取其统计信息的表的标识符;与 INNODB_TABLES.TABLE_ID 相同的值。

  • NAME

    表的名称;与 INNODB_TABLES.NAME 相同的值。

  • STATS_INITIALIZED

    如果已收集统计信息,则值为 Initialized,如果未收集统计信息,则值为 Uninitialized

  • NUM_ROWS

    表中当前估计的行数。在每次 DML 操作后更新。如果未提交的事务正在插入或删除表中的数据,则该值可能不精确。

  • CLUST_INDEX_SIZE

    存储聚集索引的磁盘页数,聚集索引按主键顺序保存 InnoDB 表数据。如果尚未为此表收集统计信息,则此值可能为空。

  • OTHER_INDEX_SIZE

    存储表的所有辅助索引的磁盘页数。如果尚未为此表收集统计信息,则此值可能为空。

  • MODIFIED_COUNTER

    由 DML 操作(例如 INSERTUPDATEDELETE 以及外键的级联操作)修改的行数。每次重新计算表统计信息时,都会重置此列。

  • AUTOINC

    要为任何基于自动递增的操作发出的下一个数字。AUTOINC 值的变化速率取决于已请求自动递增数字的次数以及每次请求授予的数字数量。

  • REF_COUNT

    当此计数器达到零时,可以从表缓存中逐出表元数据。

示例

mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLESTATS where TABLE_ID = 71\G
*************************** 1. row ***************************
         TABLE_ID: 71
             NAME: test/t1
STATS_INITIALIZED: Initialized
         NUM_ROWS: 1
 CLUST_INDEX_SIZE: 1
 OTHER_INDEX_SIZE: 0
 MODIFIED_COUNTER: 1
          AUTOINC: 0
        REF_COUNT: 1

注意

  • 此表主要用于专家级性能监控,或者在为 MySQL 开发与性能相关的扩展时使用。

  • 您必须拥有 PROCESS 权限才能查询此表。

  • 使用 INFORMATION_SCHEMA COLUMNS 表或 SHOW COLUMNS 语句查看有关此表列的其他信息,包括数据类型和默认值。