是否有可能在 MariaDB 中查询 Time > N 的进程列表?

是否有可能在 MariaDB 中查询 Time > N 的进程列表?

在 MariaDB (+ MySQL) 中,您可以SHOW PROCESSLIST获取队列/正在运行的查询列表。其中一个有用的东西是字段Time

我发现我有一些糟糕的查询被触发,并且在任何人的兴趣都转移之后很长时间仍在消耗资源。

我希望能够执行“SHOW PROCESSLIST WHERE Time > 3600”来查找实时且已运行一个多小时的查询,但这是一个语法错误。

我也尝试过SELECT * FROM (SHOW PROCESSLIST) x WHERE Time > 3600,没有结果。

有办法吗?(显然在理想世界中,我能够找出导致这些可疑查询的原因!)

我使用的是 MariaDB 10.1.41

答案1

INFORMATION_SCHEMA.PROCESSLIST您可以像这样对表运行查询:

select * from INFORMATION_SCHEMA.PROCESSLIST where Time > 3600;

相关内容