ANALYZE_STATUS
ANALYZE_STATUS 表提供正在执行的收集统计信息的任务以及有限条历史任务记录。
从 TiDB v6.1.0 起,ANALYZE_STATUS 表显示集群级别的任务,且 TiDB 重启后仍能看到重启之前的任务记录。在 TiDB v6.1.0 之前,ANALYZE_STATUS 仅显示实例级别的任务,且 TiDB 重启后任务记录会被清空。
从 TiDB v6.1.0 起,可以通过系统表 mysql.analyze_jobs 查看过去 7 天内的历史任务记录。
1. USE information_schema;
2. DESC analyze_status;
1. +----------------+---------------------+------+------+---------+-------+
2. | Field | Type | Null | Key | Default | Extra |
3. +----------------+---------------------+------+------+---------+-------+
4. | TABLE_SCHEMA | varchar(64) | YES | | NULL | |
5. | TABLE_NAME | varchar(64) | YES | | NULL | |
6. | PARTITION_NAME | varchar(64) | YES | | NULL | |
7. | JOB_INFO | longtext | YES | | NULL | |
8. | PROCESSED_ROWS | bigint(64) unsigned | YES | | NULL | |
9. | START_TIME | datetime | YES | | NULL | |
10. | END_TIME | datetime | YES | | NULL | |
11. | STATE | varchar(64) | YES | | NULL | |
12. | FAIL_REASON | longtext | YES | | NULL | |
13. | INSTANCE | varchar(512) | YES | | NULL | |
14. | PROCESS_ID | bigint(64) unsigned | YES | | NULL | |
15. +----------------+---------------------+------+------+---------+-------+
16. 11 rows in set (0.00 sec)
1. SELECT * FROM information_schema.analyze_status;
1. +--------------+------------+----------------+--------------------------------------------------------------------+----------------+---------------------+---------------------+----------+-------------+----------------+------------+
2. | TABLE_SCHEMA | TABLE_NAME | PARTITION_NAME | JOB_INFO | PROCESSED_ROWS | START_TIME | END_TIME | STATE | FAIL_REASON | INSTANCE | PROCESS_ID |
3. +--------------+------------+----------------+--------------------------------------------------------------------+----------------+---------------------+---------------------+----------+-------------+----------------+------------+
4. | test | t | p1 | analyze table all columns with 256 buckets, 500 topn, 1 samplerate | 0 | 2022-05-27 11:30:12 | 2022-05-27 11:30:12 | finished | NULL | 127.0.0.1:4000 | NULL |
5. | test | t | p0 | analyze table all columns with 256 buckets, 500 topn, 1 samplerate | 0 | 2022-05-27 11:30:12 | 2022-05-27 11:30:12 | finished | NULL | 127.0.0.1:4000 | NULL |
6. | test | t | p1 | analyze index idx | 0 | 2022-05-27 11:29:46 | 2022-05-27 11:29:46 | finished | NULL | 127.0.0.1:4000 | NULL |
7. | test | t | p0 | analyze index idx | 0 | 2022-05-27 11:29:46 | 2022-05-27 11:29:46 | finished | NULL | 127.0.0.1:4000 | NULL |
8. | test | t | p1 | analyze columns | 0 | 2022-05-27 11:29:46 | 2022-05-27 11:29:46 | finished | NULL | 127.0.0.1:4000 | NULL |
9. | test | t | p0 | analyze columns | 0 | 2022-05-27 11:29:46 | 2022-05-27 11:29:46 | finished | NULL | 127.0.0.1:4000 | NULL |
10. +--------------+------------+----------------+--------------------------------------------------------------------+----------------+---------------------+---------------------+----------+-------------+----------------+------------+
11. 6 rows in set (0.00 sec)
ANALYZE_STATUS 表中列的含义如下:
TABLE_SCHEMA:表所属的数据库的名称。TABLE_NAME:表的名称。PARTITION_NAME:分区表的名称。JOB_INFO:ANALYZE任务的信息。如果分析索引,该信息会包含索引名。当tidb_analyze_version =2时,该信息会包含采样率等配置项。PROCESSED_ROWS:已经处理的行数。START_TIME:ANALYZE任务的开始时间。END_TIME:ANALYZE任务的结束时间。STATE:ANALYZE任务的执行状态。其值可以是pending、running、finished或者failed。FAIL_REASON:任务失败的原因。如果执行成功则为NULL。INSTANCE:执行任务的 TiDB 实例。PROCESS_ID:执行任务的 process ID。
