Skip to content

STATISTICS

xiaoboluo768 edited this page Jun 7, 2020 · 2 revisions
  • 该表提供查询关于索引的一些统计信息,一个索引列对应一行记录
  • 该表为Memory引擎临时表
  • 表定义语句
CREATE TEMPORARY TABLE `STATISTICS` (
  `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
  `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
  `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
  `NON_UNIQUE` bigint(1) NOT NULL DEFAULT '0',
  `INDEX_SCHEMA` varchar(64) NOT NULL DEFAULT '',
  `INDEX_NAME` varchar(64) NOT NULL DEFAULT '',
  `SEQ_IN_INDEX` bigint(2) NOT NULL DEFAULT '0',
  `COLUMN_NAME` varchar(64) NOT NULL DEFAULT '',
  `COLLATION` varchar(1) DEFAULT NULL,
  `CARDINALITY` bigint(21) DEFAULT NULL,
  `SUB_PART` bigint(3) DEFAULT NULL,
  `PACKED` varchar(10) DEFAULT NULL,
  `NULLABLE` varchar(3) NOT NULL DEFAULT '',
  `INDEX_TYPE` varchar(16) NOT NULL DEFAULT '',
  `COMMENT` varchar(16) DEFAULT NULL,
  `INDEX_COMMENT` varchar(1024) NOT NULL DEFAULT ''
) ENGINE=MEMORY DEFAULT CHARSET=utf8
  • 字段含义(部分字段)
  • TABLE_CATALOG:该字段总是为def
  • TABLE_SCHEMA:表示索引对应的表所属的数据库名称
  • TABLE_NAME:表示索引所属的表名
  • NON_UNIQUE:表示索引是否是非唯一索引
  • INDEX_SCHEMA:表示索引所属的数据库名称
  • INDEX_NAME:表示索引名称
  • SEQ_IN_INDEX:由于STATISTICS表中记录的内容是一个索引列记录一行信息,所以,该字段用于记录索引列在索引中的顺序,从数字1开始计数
  • COLUMN_NAME:索引涉及的字段名称
  • COLLATION:索引的排序方式,有效值为:A(表示asc顺序排序)、D(desc倒序排序)、NULL(未排序)
  • CARDINALITY:索引的基数值(唯一值比例),该值是基于内部的统计信息来对索引唯一值进行估算的,要更新估算值,可以使用语句analyze table(对于myisam表,可以使用myisamchk -a 命令行工具更新)
  • SUB_PART:索引前缀长度。如果索引列只有部分被索引,则该字段值表示索引列的前缀字符数量(字节数量),如果整列被索引,则该字段值为NULL
* 注意:前缀限制数量是以字节为单位的。 所以,在使用CREATE TABLE,ALTER TABLE和CREATE INDEX语句创建前缀索引时,你需要考虑字符集的因素。
  • NULLABLE:表示该字段是否包含NULL和空值,如果有,则该字段值为YES,否则为空。要注意,索引列只要允许为NULL,则该字段值就为YES
  • INDEX_TYPE:索引类型,有效值为:BTREE、HASH、RTREE、FULLTEXT等(该字段为 "MySQL extension" 列)
  • COMMENT:索引中没有描述的索引信息,例如:disabled表示该索引处于禁用状态。要注意:InnoDB的表的索引不支持关闭(MyISAM支持)
  • INDEX_COMMENT:索引注释信息(该字段为 "MySQL extension" 列)
  • 表记录内容示例
admin@localhost : information_schema 06:15:14> select * from STATISTICS where TABLE_NAME='sbtest1' limit 1\G;
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: sbtest
  TABLE_NAME: sbtest1
  NON_UNIQUE: 0
INDEX_SCHEMA: sbtest
  INDEX_NAME: PRIMARY
SEQ_IN_INDEX: 1
  COLUMN_NAME: id
    COLLATION: A
  CARDINALITY: 4392231
    SUB_PART: NULL
      PACKED: NULL
    NULLABLE: 
  INDEX_TYPE: BTREE
      COMMENT: 
INDEX_COMMENT: 
1 row in set (0.00 sec)
  • PS:该表中的信息还可以使用show语句
# show index有两种语法,如下
root@localhost : information_schema 07:04:47> show index from sbtest1 from sbtest;
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table  | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| sbtest1 |          0 | PRIMARY  |            1 | id          | A        |    7522488 |    NULL | NULL  |      | BTREE      |        |              |
| sbtest1 |          1 | k_1      |            1 | k          | A        |      713252 |    NULL | NULL  |      | BTREE      |        |              |
| sbtest1 |          1 | i_c      |            1 | c          | A        |    4176349 |    NULL | NULL  |      | BTREE      |        |              |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
3 rows in set (0.00 sec)

root@localhost : information_schema 07:04:29> show index from sbtest.sbtest1;
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table  | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| sbtest1 |          0 | PRIMARY  |            1 | id          | A        |    7522488 |    NULL | NULL  |      | BTREE      |        |              |
| sbtest1 |          1 | k_1      |            1 | k          | A        |      713252 |    NULL | NULL  |      | BTREE      |        |              |
| sbtest1 |          1 | i_c      |            1 | c          | A        |    4176349 |    NULL | NULL  |      | BTREE      |        |              |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
3 rows in set (0.00 sec)

上一篇:SCHEMA_PRIVILEGES表 |下一篇:TABLES表

Clone this wiki locally