该表提供查询有关InnoDB表的较低级别的状态信息视图。 MySQL优化器会使用这些统计信息数据来计算并确定在查询InnoDB表时要使用哪个索引。这些信息保存在内存中的数据结构中,与存储在磁盘上的数据无对应关系。InnoDB内部也无对应的系统表
该表中保存着自上次服务器重新启动以来已打开并且未超出表缓存时间的表统计信息数据
该表中记录的表统计信息仅针对DELETE或UPDATE操作对索引的修改更新。其他对非索引列的修改的更新操作该表中不会进行记录
该表为memory引擎临时表,查询该表的用户需要有process权限
表定义语句
CREATE TEMPORARY TABLE `INNODB_SYS_TABLESTATS` (
`TABLE_ID` bigint(21) unsigned NOT NULL DEFAULT '0',
`NAME` varchar(193) NOT NULL DEFAULT '',
`STATS_INITIALIZED` varchar(193) NOT NULL DEFAULT '',
`NUM_ROWS` bigint(21) unsigned NOT NULL DEFAULT '0',
`CLUST_INDEX_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
`OTHER_INDEX_SIZE` bigint(21) unsigned NOT NULL DEFAULT '0',
`MODIFIED_COUNTER` bigint(21) unsigned NOT NULL DEFAULT '0',
`AUTOINC` bigint(21) unsigned NOT NULL DEFAULT '0',
`REF_COUNT` int(11) NOT NULL DEFAULT '0'
) ENGINE=MEMORY DEFAULT CHARSET=utf8
表字段含义
TABLE_ID:表示统计信息相关的表ID,与INNODB_SYS_TABLES.TABLE_ID字段值相同
NAME:数据库名称+表名称字符串值,与INNODB_SYS_TABLES.NAME字段值相同
STATS_INITIALIZED:如果某表已经收集了统计信息,则该值为“Initialized”;如果未收集,则为“Uninitialized”
NUM_ROWS:表中当前的估计行数。每次DML操作后更新该值。但该值可能不准确,例如:如果存在未提交的事务正在插入或从表中删除记录时,该列值的统计可能不准确
CLUST_INDEX_SIZE:磁盘上存储聚簇索引的页数量,聚集索引是存储结构,以主键的顺序保存InnoDB表数据。如果未收集过表的统计信息,则此列值可能为空(0值)
OTHER_INDEX_SIZE:磁盘上存储的表的所有二级索引的页数量。如果未收集过表的统计信息,则此列值可能为空(0值)
MODIFIED_COUNTER:DML操作修改的行数量,例如:INSERT、UPDATE、DELETE,以及外键更新时的级联更新操作都会触发重新计算行数量统计并覆盖之前的值
AUTOINC:自增操作的下一个数字值。AUTOINC列值的更新速率取决于自增数量的请求次数以及每个请求被授予的自增数量
REF_COUNT:当此计数器达到零值时,表元数据信息可能会从表缓存中逐出出去
表记录内容示例
admin@localhost : information_schema 06:52:25> select * from INNODB_SYS_TABLESTATS where name like '%sbtest%' limit 20;
+----------+------------------------------------------------------+-------------------+----------+------------------+------------------+------------------+----------+-----------+
| TABLE_ID | NAME | STATS_INITIALIZED | NUM_ROWS | CLUST_INDEX_SIZE | OTHER_INDEX_SIZE | MODIFIED_COUNTER | AUTOINC | REF_COUNT |
+----------+------------------------------------------------------+-------------------+----------+------------------+------------------+------------------+----------+-----------+
| 119 | sbtest/FTS_0000000000000076_000000000000008e_INDEX_1 | Uninitialized | 0 | 0 | 0 | 0 | 0 | 0 |
| 120 | sbtest/FTS_0000000000000076_000000000000008e_INDEX_2 | Uninitialized | 0 | 0 | 0 | 0 | 0 | 0 |
| 121 | sbtest/FTS_0000000000000076_000000000000008e_INDEX_3 | Uninitialized | 0 | 0 | 0 | 0 | 0 | 0 |
| 122 | sbtest/FTS_0000000000000076_000000000000008e_INDEX_4 | Uninitialized | 0 | 0 | 0 | 0 | 0 | 0 |
| 123 | sbtest/FTS_0000000000000076_000000000000008e_INDEX_5 | Uninitialized | 0 | 0 | 0 | 0 | 0 | 0 |
| 124 | sbtest/FTS_0000000000000076_000000000000008e_INDEX_6 | Uninitialized | 0 | 0 | 0 | 0 | 0 | 0 |
| 125 | sbtest/FTS_0000000000000076_BEING_DELETED | Uninitialized | 0 | 0 | 0 | 0 | 0 | 0 |
| 126 | sbtest/FTS_0000000000000076_BEING_DELETED_CACHE | Uninitialized | 0 | 0 | 0 | 0 | 0 | 0 |
| 127 | sbtest/FTS_0000000000000076_CONFIG | Uninitialized | 0 | 0 | 0 | 0 | 0 | 0 |
| 128 | sbtest/FTS_0000000000000076_DELETED | Uninitialized | 0 | 0 | 0 | 0 | 0 | 0 |
| 129 | sbtest/FTS_0000000000000076_DELETED_CACHE | Uninitialized | 0 | 0 | 0 | 0 | 0 | 0 |
| 45 | sbtest/sbtest1 | Initialized | 4392380 | 62720 | 5929 | 0 | 10730975 | 2 |
| 46 | sbtest/sbtest2 | Initialized | 4707512 | 67264 | 7145 | 0 | 10727715 | 1 |
| 43 | sbtest/sbtest3 | Initialized | 4451936 | 63616 | 6057 | 0 | 10731473 | 1 |
| 47 | sbtest/sbtest4 | Initialized | 4728110 | 67520 | 7337 | 0 | 10730695 | 1 |
| 42 | sbtest/sbtest5 | Initialized | 4372701 | 62464 | 5737 | 0 | 10729813 | 1 |
| 41 | sbtest/sbtest6 | Initialized | 4550283 | 65024 | 6569 | 0 | 10729407 | 1 |
| 44 | sbtest/sbtest7 | Initialized | 4630701 | 66112 | 6889 | 0 | 10729717 | 1 |
| 48 | sbtest/sbtest8 | Initialized | 4596733 | 65664 | 6633 | 0 | 10727951 | 1 |
| 118 | sbtest/xx | Initialized | 2 | 1 | 1 | 0 | 0 | 1 |
+----------+------------------------------------------------------+-------------------+----------+------------------+------------------+------------------+----------+-----------+
20 rows in set (0.00 sec)