10bet网址
MySQL 5.7参考手册
相关文件10bet官方网站 下载本手册 本手册摘录

24.3.25 The INFORMATION_SCHEMA TABLES表

桌子表提供有关数据库中表的信息。

桌子表有这些列:

  • table_catalog.

    表所属的目录的名称。这个值始终是def

  • table_schema.

    表所属的架构(数据库)的名称。

  • table_name.

    表的名称。

  • table_type.

    基础表对于桌子,看法为了一个观点,或系统视图INFORMATION_SCHEMA桌子。

    桌子表中没有列出暂时的表。

  • 引擎

    桌子的存储引擎。看第14章,InnoDB存储引擎, 和第15章,替代存储引擎

    用于分区表,引擎显示所有分区使用的存储引擎的名称。

  • 版本

    表的版本号.FRM文件。

  • Row_Format.

    行存储格式(固定动态的压缩多余的袖珍的)。为了myisam.桌子,动态的对应的是什么myisamchk -dvv.报告为包装Innodb.表格格式是多余的或者袖珍的使用时羚羊文件格式,或压缩或者动态的使用时Barracuda.文件格式。

  • TABLE_ROWS

    行数。一些存储引擎,如myisam.,存储确切的计数。对于其他存储引擎,例如Innodb.,该值是近似值,并且可能因实际值而变化多达40%至50%。在这种情况下,使用SELECT COUNT (*)获得准确的计数。

    TABLE_ROWS空值为了INFORMATION_SCHEMA表。

    为了Innodb.表,行计数只是SQL优化中使用的粗略估计。(如果是这样也是如此Innodb.表是分区。)

  • avg_row_length.

    平均行长度。

    有关相关信息,请参阅本节末尾的注释。

  • data_length.

    为了myisam.data_length.是数据文件的长度,以字节为单位。

    为了Innodb.data_length.是为群集索引分配的近似空间,以字节为单位。具体而言,它是群集索引大小,在页面中,乘以Innodb.页面大小。

    有关其他存储引擎的信息,请参阅本节末尾的注释。

  • MAX_DATA_LENGTH

    为了myisam.MAX_DATA_LENGTH是数据文件的最大长度。考虑到使用的数据指针大小,这是可以存储在表中的数据的总字节数。

    未使用Innodb.

    有关其他存储引擎的信息,请参阅本节末尾的注释。

  • INDEX_LENGTH

    为了myisam.INDEX_LENGTH是索引文件的长度,以字节为单位。

    为了Innodb.INDEX_LENGTH是为非群集索引分配的近似空间,以字节为单位。具体地,它是非聚类索引大小的总和,在页面中乘以Innodb.页面大小。

    有关其他存储引擎的信息,请参阅本节末尾的注释。

  • DATA_FREE

    分配但未使用的字节数。

    Innodb.表报告表所属表空间的可用空间。对于位于共享表空间中的表,这是共享表空间的可用空间。如果您使用多个表空间和表格有自己的表空间,则自由空间仅用于该表。自由空间意味着完全自由范围内的字节数减去安全保证金。即使空闲空间显示为0,也可以插入行,只要不需要分配新的范围即可。

    NDB集群,DATA_FREE显示在磁盘上为磁盘数据表或磁盘碎片分配但未被其使用的空间。(内存数据资源使用情况data_length.柱子。)

    对于分区表,此值仅是估计值,并且可能不是绝对正确的。在这种情况下获取此信息的更准确的方法是查询INFORMATION_SCHEMA分区表,如本例所示:

    从Information_Schema中选择Sum(data_free).Partitions,其中table_schema ='mydb'和table_name ='mytable';

    有关更多信息,请参见第24.3.16节“Information_schema Partitions表”

  • 自动递增

    下一个自动递增价值。

  • create_time.

    创建表时。

  • UPDATE_TIME

    当数据文件最后更新时。对于某些存储引擎,此值是空值。例如,Innodb.在其上存储多个表格系统表空间并且数据文件时间戳不适用。即使file-per-table模式与每个Innodb.表在一个单独的.ibd文件,改变缓冲可以延迟写入数据文件,因此文件修改时间与上次插入,更新或删除的时间不同。为了myisam.,使用数据文件时间戳;但是,在Windows上,时间戳未更新更新,因此该值不准确。

    UPDATE_TIME显示最后一个时间戳值更新插入, 或者删除上执行Innodb.未分区的表。对于MVCC,时间戳值反映提交时间,被认为是最后更新时间。当服务器重新启动时或者从何时从中逐表时,时间戳不会持久Innodb.数据字典缓存。

    UPDATE_TIME列还显示了分区的此信息Innodb.表。

  • check_time.

    当表最后检查时。并非所有存储引擎都更新此时,在这种情况下,该值始终是空值

    用于分区Innodb.桌子,check_time.总是空值

  • TABLE_COLLATION

    表默认排序规则。输出没有明确列出表默认字符集,但排序规则名称以字符集名称开头。

  • 校验和

    实时校验和值,如果有的话。

  • create_options.

    额外的选择创建表

    create_options.显示分区如果表是分区。

    create_options.显示加密子句为在每个表的文件表空间中创建的表指定。

    在创建表时严格模式禁用,如果不支持指定的行格式,则使用存储引擎的默认行格式。报告表的实际行格式Row_Format.列。create_options.控件中指定的行格式创建表声明。

    更改表的存储引擎时,在表定义中保留不适用于新存储引擎的表选项,以便在必要时启用将表与其先前定义的选项恢复到原始存储引擎中的表。这create_options.列可能显示保留的选项。

  • 表格_Comment.

    创建表时使用的注释(或者为什么MySQL无法访问表信息的信息)。

笔记

  • 为了NDB.表,此语句的输出显示适当的值avg_row_length.data_length.列,例外列不会考虑列。

  • 为了NDB.桌子,data_length.包括仅存储在主存储器中的数据;这MAX_DATA_LENGTHDATA_FREE列适用于磁盘数据。

  • 对于NDB群集磁盘数据表,MAX_DATA_LENGTH显示为磁盘数据表或片段的磁盘部分分配的空间。(内存数据资源使用情况data_length.柱子。)

  • 为了记忆桌子,桌子data_length.MAX_DATA_LENGTH, 和INDEX_LENGTH值近似于分配的内存量。分配算法储存大量的存储器以减少分配操作的数量。

  • 观点,所有桌子列是空值除了table_name.查看名称和表格_Comment.看法

表信息也可从中获取显示表状态显示表格陈述。看第13.7.5.36节“显示表格状态声明”, 和第13.7.5.37节“显示表格声明”。以下陈述是等效的:

选择table_name,引擎,版本,row_format,table_rows,avg_row_length,data_length,max_data_lengthdb_name'[和table_name喜欢'野生']显示表格状态db_name[喜欢 '野生']

以下陈述是等效的:

从Information_schema.tables中选择table_name,table_type,其中table_schema ='db_name'[和table_name喜欢'野生']显示完整的表db_name[喜欢 '野生']