句法
显示[完整]程序清单
描述
SHOW PROCESSLIST显示正在运行的线程。您也可以从information_schema.PROCESSLIST表或mysqladmin processlist命令中获取此信息 。如果有 PROCESS privilege,则可以看到所有线程。否则,您只能看到自己的线程(即与您使用的MariaDB帐户关联的线程)。如果您不使用 FULL关键字,则每个语句的前100个字符仅显示在“信息”字段中。
显示的列是:SHOW PROCESSLIST
该information_schema.PROCESSLIST 表包含以下其他列:
请注意,PROGRESS信息模式中的PROGRESS字段和信息模式中的字段SHOW PROCESSLIST显示不同的结果。SHOW PROCESSLIST显示总进度,而信息模式仅显示当前阶段的进度。
可以使用线程的thread_id或自MariaDB 10.0.5版本起的线程的query_id和KILL语句将其杀死。
由于对此表的查询处于锁定状态,因此如果performance_schema启用,则可能要查询该THREADS表。
例子
从MariaDB 5.1 .x
显示完整的程序清单;
+ --------- + ------- + ----------- + ------ + --------- +- ---- + ------- + ------------------------- +
| ID | 用户| 主持人 db | 指令| 时间| 州| 信息|
+ --------- + ------- + ----------- + ------ + --------- +- ---- + ------- + ------------------------- +
| 1988880 | dbart | 本地主机| NULL | 查询| 0 | NULL | 显示完整的程序清单|
+ --------- + ------- + ----------- + ------ + --------- +- ---- + ------- + ------------------------- +
选择* FROM information_schema.processlist;
+ --------- + ------- + ----------- + ------ + --------- +- ---- + ----------- + --------------------------------- ------------- + --------- +
| ID | USER | 主机| DB | COMMAND | 时间| 州| 信息| TIME_MS |
+ --------- + ------- + ----------- + ------ + --------- +- ---- + ----------- + --------------------------------- ------------- + --------- +
| 1988880 | dbart | 本地主机| NULL | 查询| 0 | 执行 选择*从information_schema.processlist | 0.444 |
+ --------- + ------- + ----------- + ------ + --------- +- ---- + ----------- + --------------------------------- ------------- + --------- +
从MariaDB 5.5 .x
显示完整的程序清单;
+ ----- + ------ + ----------- + ------ + --------- + ------ + ------- + ----------------------- + ---------- +
| ID | 用户| 主持人 db | 指令| 时间| 州| 信息| 进展|
+ ----- + ------ + ----------- + ------ + --------- + ------ + ------- + ----------------------- + ---------- +
| 126 | 根| 本地主机| NULL | 查询| 0 | NULL | 显示完整的程序清单| 0.000 |
+ ----- + ------ + ----------- + ------ + --------- + ------ + ------- + ----------------------- + ---------- +
选择* FROM information_schema.processlist;
+ ----- + -------- + ----------- + ------ + --------- + ----- -+ ----------- + ------------------------------------ ---------- + --------- + ------- + ----------- + --------- -+
| ID | USER | 主机| DB | COMMAND | 时间| 州| 信息| TIME_MS | 阶段 MAX_STAGE | 进展
+ ----- + -------- + ----------- + ------ + --------- + ----- -+ ----------- + ------------------------------------ ---------- + --------- + ------- + ----------- + --------- -+
| 126 | 根| 本地主机| NULL | 查询| 0 | 执行 选择*从information_schema.processlist | 344.718 | 0 | 0 | 0.000 |
+ ----- + -------- + ----------- + ------ + --------- + ----- -+ ----------- + ------------------------------------ ---------- + --------- + ------- + ----------- + --------- -+
从MariaDB 10.0 .x
显示流程清单;
+ ---- + ----------------- + ----------- + ------ + ------- -+ ------ + ------------------------ + --------------- --- + ---------- +
| ID | 用户| 主持人 db | 指令| 时间| 州| 信息| 进展|
+ ---- + ----------------- + ----------- + ------ + ------- -+ ------ + ------------------------ + --------------- --- + ---------- +
| 2 | event_scheduler | 本地主机| NULL | 守护进程 2693 | 等待空队列 NULL | 0.000 |
| 4 | 根| 本地主机| NULL | 查询| 0 | 桌锁| 显示过程列表| 0.000 |
+ ---- + ----------------- + ----------- + ------ + ------- -+ ------ + ------------------------ + --------------- --- + ---------- +
注释
要从INFORMATION_SCHEMA.PROCESSLIST中检索类似的“ total” Progress值作为SHOW PROCESSLIST中的值:
SELECT CASE WHEN Max_Stage < 2 THEN
进度 ELSE (阶段- 1 )/ Max_Stage * 100 + 进展/ Max_Stage END AS 进展
FROM INFORMATION_SCHEMA 。流程清单;