mysql - 在 MySQL 命令 : sleep 中显示 PROCESSLIST

标签 mysql processlist

当我在 MySQL 数据库中运行 SHOW PROCESSLIST 时,我得到以下输出:

mysql> show full processlist;

+--------+------+-----------+--------+---------+-------+-------+-----------------------+
| Id     | User | Host      | db     | Command | Time  | State | Info                  |
+--------+------+-----------+-------+---------+-------+-------+-----------------------+
| 411665 | root | localhost | somedb | Sleep   | 11388 |       | NULL                  | 
| 412109 | root | localhost | somedb | Query   |     0 | NULL  | show full processlist | 
+--------+------+-----------+-------+---------+-------+-------+------------------------+

我想知道命令下的进程“ sleep ”。这是什么意思?为什么它运行了很长时间并显示为NULL?它使数据库变慢,当我终止进程时,它可以正常工作。请帮帮我。

最佳答案

这不是等待连接的查询;这是一个等待超时终止的连接指针。

它对性能没有影响。它唯一使用的是每个连接都使用的几个字节。

真正最糟糕的情况:它正在使用您的池的一个连接;如果您要通过控制台客户端连接多次并关闭客户端而不关闭连接,您可能会用完所有连接并且必须等待超时才能再次连接......但这不太可能:-)

MySql Proccesslist filled with "Sleep" Entries leading to "Too many Connections"?https://dba.stackexchange.com/questions/1558/how-long-is-too-long-for-mysql-connections-to-sleep了解更多信息。

关于mysql - 在 MySQL 命令 : sleep 中显示 PROCESSLIST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12194241/

相关文章:

javascript - 使用数组条件更新 mysql 数据库

php - 旧版本的 PHP/MYSQL 是否有 NOT NULL 列的默认值?

php - 即使连接数据为空,Mysql如何返回行

mysql - 自动终止 mysql 休眠进程的 Shell 脚本

linux - 如何使用 Ansible ad-hoc 显示进程列表?

mysql show processlist 查询显示 state = null

mysql - 迁移数据时如何检测已删除的行

mysql - 如何存储mysql连接字符串