Documentation Home
MySQL 9.0 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 259.0Kb
Man Pages (Zip) - 366.2Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 Reference Manual  / ...  / INFORMATION_SCHEMA Tables  / INFORMATION_SCHEMA InnoDB Tables  /  The INFORMATION_SCHEMA INNODB_TABLESTATS View

28.4.26 The INFORMATION_SCHEMA INNODB_TABLESTATS View

TheINNODB_TABLESTATS table provides a view of low-level status information aboutInnoDB tables. This data is used by the MySQL optimizer to calculate which index to use when querying anInnoDB table. This information is derived from in-memory data structures rather than data stored on disk. There is no corresponding internalInnoDB 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.

Table statistics are updated only forDELETE orUPDATE operations that modify indexed columns. Statistics are not updated by operations that modify only nonindexed columns.

ANALYZE TABLE clears table statistics and sets theSTATS_INITIALIZED column toUninitialized. Statistics are collected again the next time the table is accessed.

For related usage information and examples, seeSection 17.15.3, “InnoDB INFORMATION_SCHEMA Schema Object Tables”.

TheINNODB_TABLESTATS table has these columns:

  • TABLE_ID

    An identifier representing the table for which statistics are available; the same value asINNODB_TABLES.TABLE_ID.

  • NAME

    The name of the table; the same value asINNODB_TABLES.NAME.

  • STATS_INITIALIZED

    The value isInitialized if the statistics are already collected,Uninitialized if not.

  • NUM_ROWS

    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.

  • CLUST_INDEX_SIZE

    The number of pages on disk that store the clustered index, which holds theInnoDB table data in primary key order. This value might be null if no statistics are collected yet for the table.

  • OTHER_INDEX_SIZE

    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.

  • MODIFIED_COUNTER

    The number of rows modified by DML operations, such asINSERT,UPDATE,DELETE, and also cascade operations from foreign keys. This column is reset each time table statistics are recalculated

  • AUTOINC

    The next number to be issued for any auto-increment-based operation. The rate at which theAUTOINC value changes depends on how many times auto-increment numbers have been requested and how many numbers are granted per request.

  • REF_COUNT

    When this counter reaches zero, the table metadata can be evicted from the table cache.

Example

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

Notes

  • This table is useful primarily for expert-level performance monitoring, or when developing performance-related extensions for MySQL.

  • You must have thePROCESS privilege to query this table.

  • Use theINFORMATION_SCHEMACOLUMNS table or theSHOW COLUMNS statement to view additional information about the columns of this table, including data types and default values.