24.32.24 The INFORMATION_SCHEMA INNODB_SYS_TABLESTATS View
INNODB_SYS_TABLESTATS table provides a view of low-level status information about
InnoDB tables. This data is used by the MySQL optimizer to calculate which index to use when querying an
InnoDB table. This information is derived from in-memory data structures rather than data stored on disk. There is no corresponding internal
InnoDB system table.
InnoDB tables are represented in this view if they have been opened since the last server restart and have not aged out of the table cache. Tables for which persistent stats are available are always represented in this view.
ANALYZE TABLE clears table statistics and sets the
STATS_INITIALIZED column to
Uninitialized. Statistics are collected again the next time the table is accessed.
For related usage information and examples, see Section 14.16.3, “InnoDB INFORMATION_SCHEMA System Tables”.
INNODB_SYS_TABLESTATS table has these columns:
An identifier representing the table for which statistics are available; the same value as
The name of the table; the same value as
The value is
Initializedif the statistics are already collected,
The current estimated number of rows in the table. Updated after each DML operation. The value could be imprecise if uncommitted transactions are inserting into or deleting from the table.
The number of pages on disk that store the clustered index, which holds the
InnoDBtable data in primary key order. This value might be null if no statistics are collected yet for the table.
The number of pages on disk that store all secondary indexes for the table. This value might be null if no statistics are collected yet for the table.
The number of rows modified by DML operations, such as
DELETE, and also cascade operations from foreign keys. This column is reset each time table statistics are recalculated
The next number to be issued for any auto-increment-based operation. The rate at which the
AUTOINCvalue changes depends on how many times auto-increment numbers have been requested and how many numbers are granted per request.
When this counter reaches zero, the table metadata can be evicted from the table cache.
mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_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
This table is useful primarily for expert-level performance monitoring, or when developing performance-related extensions for MySQL.
You must have the
PROCESSprivilege to query this table.