的INNODB_SYS_TABLESTATS
表提供的低级状态信息的视图InnoDB
表。这个数据被MySQL优化器用来计算在查询数据库时使用哪个索引InnoDB
表格这些信息来自内存中的数据结构,而不是存储在磁盘上的数据。没有相应的内部InnoDB
系统表。
InnoDB
如果表在上次服务器重新启动后被打开,并且没有从表缓存中老化,则在此视图中表示。持久统计数据可用的表总是在这个视图中表示。
表统计信息仅更新删除
或更新
修改索引列的操作。仅修改非索引列的操作不会更新统计信息。
分析表
清除表统计信息并设置STATS_INITIALIZED
列未初始化
.在下次访问表时再次收集统计信息。
相关用法信息和示例,请参见章节14.16.3“InnoDB INFORMATION_SCHEMA系统表”.
的INNODB_SYS_TABLESTATS
表有这些列:
TABLE_ID
表示统计信息可用的表的标识符;与
INNODB_SYS_TABLES。TABLE_ID
.的名字
表的名称;与
INNODB_SYS_TABLES。的名字
.STATS_INITIALIZED
取值为
初始化
如果已经收集了统计数据,未初始化
如果不是。NUM_ROWS
表中当前估计的行数。在每个DML操作之后更新。如果向表中插入或从表中删除未提交的事务,则该值可能不精确。
CLUST_INDEX_SIZE
存储聚集索引的磁盘上的页数
InnoDB
按主键顺序表数据。如果还没有为该表收集统计信息,则此值可能为空。OTHER_INDEX_SIZE
磁盘上存储表的所有二级索引的页数。如果还没有为该表收集统计信息,则此值可能为空。
MODIFIED_COUNTER
由DML操作修改的行数,例如
插入
,更新
,删除
,也可以从外键级联操作。每当重新计算时间表统计信息时,此列将被重置AUTOINC
为任何基于自动增量的操作发出的下一个数字。的速率
AUTOINC
值的变化取决于请求了多少次自动递增号码,以及每个请求授予了多少个号码。REF_COUNT
当此计数器为零时,可以从表缓存中删除表元数据。
例子
mysql> SELECT * FROM INFORMATION_SCHEMAINNODB_SYS_TABLESTATSwhere 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