TABLES表提供有关数据库中表的信息。
TABLES代表表统计信息的 列包含缓存的值。该 information_schema_stats_expiry 系统变量定义缓存表统计到期之前的一段时间。默认值为86400秒(24小时)。如果没有缓存的统计信息或统计信息已过期,则在查询表统计信息列时将从存储引擎检索统计信息。要随时更新给定表的缓存值,请使用ANALYZE TABLE。要始终直接从存储引擎检索最新统计信息,请设置 information_schema_stats_expiry 为0。有关更多信息,请参见 第8.2.3节“优化INFORMATION_SCHEMA查询”。
注意
如果innodb_read_only启用了系统变量,则ANALYZE TABLE可能会失败,因为它无法更新使用的数据字典中的统计表 InnoDB。对于ANALYZE TABLE更新密钥分配的操作,即使该操作更新了表本身(例如,如果它是MyISAM表),也可能会发生故障。要获取更新的分发统计信息,请设置 information_schema_stats_expiry=0。
该TABLES表包含以下列:
TABLE_CATALOG
该表所属的目录的名称。此值始终为def。
TABLE_SCHEMA
表所属的模式(数据库)的名称。
TABLE_NAME
表的名称。
TABLE_TYPE
BASE TABLE为一个表, VIEW用于一个视图,或SYSTEM VIEW为一个INFORMATION_SCHEMA 表。
该TABLES表未列出 TEMPORARY表。
ENGINE
表的存储引擎。请参阅 第15章,InnoDB存储引擎和 第16章,备用存储