功能说明
SHOW PROCESSLIST 显示正在运行的线程。如果有 SUPER 权限,可以看到所有 线程。否则,用户只能看到自己的线程(就是与用户使用的 Gbase 8a MPP Cluster 帐号相关的线程)。
Gbase 8a MPP Cluster 为拥有 SUPER 权限的帐号保留一个额 外的连接,以确保管理员总是能够连接并检验系统(假设不给所有用户 SUPER 权限)。如果用户得到“too many connections”错误消息,并且想要了解正在发 生的情况,本语句是非常有用的。
语法格式
SHOW [FULL] PROCESSLIST
示例:
gbase> show processlist; +-----+-----------------+------------------+--------+---------+-------+-----------------------------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +-----+-----------------+------------------+--------+---------+-------+-----------------------------+------------------+ | 1 | event_scheduler | localhost | NULL | Daemon | 38577 | Waiting for next activation | NULL | | 180 | root | localhost | testdb | Query | 0 | NULL | show processlist | | 182 | root | 10.0.2.107:33128 | testdb | Sleep | 1921 | | NULL | +-----+-----------------+------------------+--------+---------+-------+-----------------------------+------------------+ 3 rows in set (Elapsed: 00:00:00.00)
| 列名称 | 说明 |
| Id | 连级的 id 号。 |
| User | 连接的用户。 |
| Host | TCP/IP 连接的主机名,可以更容易看出每个客户端的运行状 态,形式为 host_name:client_port。 |
| db | 数据库名。 |
| command | 连接执行的 SQL。 |
| Time | 连接时间 |
| State | 连接状态 |
| info | 连接信息 |
对于不同state状态解释
| State | 含义 |
| init | 表示SQL进入准备执行阶段,也就是执行计划开始 |
| deleting from main table/updating main table | 准备对表做delete或update操作 |
| end/query endSQL | 进入结束阶段,准备清理资源 |
| Creating tmp table | 查询过程中,正在创建临时表 |
| Sending data | 正在读取数据并向发起端发送SELECT结果 |
| closing tables | 关闭打开的表 |
| evaluating | 执行计划评估 |
| Executing by step | 逐个执行计划的每个Step |
| Preparing metadata | 取得本查询所涉及表的可用节点信息 |
| Creating tmp tables | 创建临时表 |
| Sending task to gnodes | 发送task 给gnode |
| Clear tmp tables | 查询完成,清除临时表 |
| Writing to Net | 向客户端发送数据包,一般是API接口 |
| checking permissions | 检查权限,比如锁。主要是DML和DDL等,包括LOAD。 |
| commit | 提交,比如加载最后一步 |
| killed | 被杀掉 |
| logging slow query | 开启了审计日志后,保存日志 |
| Rolling back | 回滚 |



