10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册节选

26.3.34信息模式统计表

统计数据Table提供关于表索引的信息。

统计数据表示保存缓存值的表统计信息。的information_schema_stats_expiry系统变量定义缓存表统计信息过期前的时间段。默认值是86400秒(24小时)。如果没有缓存的统计信息或统计信息已过期,则在查询表统计信息列时从存储引擎检索统计信息。若要随时更新给定表的缓存值,请使用分析表.若要始终直接从存储引擎检索最新统计信息,请设置information_schema_stats_expiry = 0.有关更多信息,请参见第8.2.3节“优化INFORMATION_SCHEMA查询”

请注意

如果innodb_read_only系统变量已启用,分析表可能失败,因为它不能更新统计表在数据字典,使用哪InnoDB.为分析表更新键分布的操作,即使该操作更新了表本身(例如,如果它是一个MyISAM表)。若要获取更新的分布统计信息,请设置information_schema_stats_expiry = 0

统计数据表有这些列:

  • TABLE_CATALOG

    包含索引的表所属的目录的名称。这个值总是def

  • TABLE_SCHEMA

    包含索引的表所属的模式(数据库)的名称。

  • TABLE_NAME

    包含索引的表的名称。

  • NON_UNIQUE

    如果索引不能包含重复项,则为0,如果可以,则为1。

  • INDEX_SCHEMA

    索引所属的模式(数据库)的名称。

  • INDEX_NAME

    索引的名称。如果索引是主键,则名称总是主要的

  • SEQ_IN_INDEX

    索引中的列序列号,从1开始。

  • COLUMN_NAME

    列名。的描述表达式列。

  • 排序

    在索引中如何对列排序。这可以有值一个(提升)D(降序),或(不排序)。

  • 基数

    对索引中唯一值数量的估计。要更新此号码,请运行分析表或(MyISAM表)myisamchk——

    基数根据存储为整数的统计信息进行计数,因此即使对于小表,值也不一定准确。基数越高,MySQL在执行连接时使用索引的几率就越大。

  • SUB_PART

    该指数前缀。也就是说,如果列只被部分索引,则索引字符的数量,如果索引了整个列。

    请注意

    前缀限制都是以字节为单位的。然而,前缀长度有关索引规格,请参阅创建表ALTER TABLE,创建索引语句被解释为非二进制字符串类型的字符数(字符VARCHAR文本)和二进制字符串类型的字节数(二进制VARBINARY).在为使用多字节字符集的非二进制字符串列指定前缀长度时,要考虑到这一点。

    有关索引前缀的更多信息,请参见第8.3.5节“列索引”,第13.1.15节“CREATE INDEX语句”

  • 包装

    指示密钥的包装方式。如果不是。

  • 可以为空

    包含是的如果列中可能包含价值观和如果不是。

  • INDEX_TYPE

    使用的索引方法(BTREE全文哈希RTREE).

  • 评论

    关于索引的信息没有在它自己的列中描述,例如禁用如果索引被禁用。

  • INDEX_COMMENT

    类为索引提供的任何注释评论属性。

  • IS_VISIBLE

    索引对优化器是否可见。看到第8.3.12节“隐形索引”

  • 表达式

    MySQL 8.0.13及更高版本支持功能关键部分(参见功能的关键部分),这会影响COLUMN_NAME而且表达式列:

    • 对于非功能关键部分,COLUMN_NAME指示由键部分和索引的列表达式

    • 对于功能关键部分,COLUMN_NAME列是而且表达式表示关键部分的表达式。

笔记

  • 没有标准INFORMATION_SCHEMA表的索引。MySQL列列表类似于SQL Server 2000返回的结果sp_statistics,除了限定符而且老板被替换成目录而且模式,分别。

关于表索引的信息也可以从显示指数声明。看到第13.7.7.22节,“SHOW INDEX语句”.以下表述是等价的:

从information_schema中选择*。table_name = 'tbl_name' AND table_schema = 'db_nameshow index fromtbl_namedb_name