SHOW-ANALYZE

Name

SinceVersion 2.0

SHOW ANALYZE

Description

通过 SHOW ANALYZE 来查看统计信息收集作业的信息。

语法如下:

  1. SHOW [AUTO] ANALYZE < table_name | job_id >
  2. [ WHERE [ STATE = [ "PENDING" | "RUNNING" | "FINISHED" | "FAILED" ] ] ];
  • AUTO:仅仅展示自动收集历史作业信息。需要注意的是默认只保存过去20000个执行完毕的自动收集作业的状态。
  • table_name:表名,指定后可查看该表对应的统计作业信息。可以是 db_name.table_name 形式。不指定时返回所有统计作业信息。
  • job_id:统计信息作业 ID,执行 ANALYZE 异步收集时得到。不指定id时此命令返回所有统计作业信息。

输出:

列名说明
job_id统计作业 ID
catalog_namecatalog 名称
db_name数据库名称
tbl_name表名称
col_name列名称列表
job_type作业类型
analysis_type统计类型
message作业信息
last_exec_time_in_ms上次执行时间
state作业状态
schedule_type调度方式

下面是一个例子:

  1. mysql> show analyze 245073\G;
  2. *************************** 1. row ***************************
  3. job_id: 245073
  4. catalog_name: internal
  5. db_name: default_cluster:tpch
  6. tbl_name: lineitem
  7. col_name: [l_returnflag,l_receiptdate,l_tax,l_shipmode,l_suppkey,l_shipdate,l_commitdate,l_partkey,l_orderkey,l_quantity,l_linestatus,l_comment,l_extendedprice,l_linenumber,l_discount,l_shipinstruct]
  8. job_type: MANUAL
  9. analysis_type: FUNDAMENTALS
  10. message:
  11. last_exec_time_in_ms: 2023-11-07 11:00:52
  12. state: FINISHED
  13. progress: 16 Finished | 0 Failed | 0 In Progress | 16 Total
  14. schedule_type: ONCE

每个收集作业中可以包含一到多个任务,每个任务对应一列的收集。用户可通过如下命令查看具体每列的统计信息收集完成情况。

语法:

  1. SHOW ANALYZE TASK STATUS [job_id]

下面是一个例子:

  1. mysql> show analyze task status 20038 ;
  2. +---------+----------+---------+----------------------+----------+
  3. | task_id | col_name | message | last_exec_time_in_ms | state |
  4. +---------+----------+---------+----------------------+----------+
  5. | 20039 | col4 | | 2023-06-01 17:22:15 | FINISHED |
  6. | 20040 | col2 | | 2023-06-01 17:22:15 | FINISHED |
  7. | 20041 | col3 | | 2023-06-01 17:22:15 | FINISHED |
  8. | 20042 | col1 | | 2023-06-01 17:22:15 | FINISHED |
  9. +---------+----------+---------+----------------------+----------+

Keywords

SHOW, ANALYZE