mysql command为sleep时项目可以连接_在MySQL命令中显示PROCESSLIST:sleep

在MySQL命令中显示PROCESSLIST:sleep

当我在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 | +--------+------+-----------+-------+---------+-------+-------+------------------------+

我想知道命令下的“睡眠”过程。 这是什么意思? 为什么它运行很长时间,显示NULL? 这是使数据库变慢,当我杀了进程,然后它正常工作。 请帮帮我。

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

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

最糟糕的情况是它使用了一个连接池,如果通过控制台客户端连接多次,closures客户端而不closures连接,则可以用完所有连接,并且必须等待超时才能再次连接…但这是不太可能的:-)

“睡眠”状态连接通常由维护与数据库的持续连接的代码创build。

这可能包括由应用程序框架创build的连接池或客户端数据库pipe理工具。

正如上面在评论中提到的那样,真的没有理由担心这些连接……除非你不知道连接是从哪里来的。

(CAVEAT:如果您有很长的这种连接列表,可能会有同时连接耗尽的危险。)

睡眠意味着线程什么都不做。 时间太长,因为anthor线程查询,但不断开服务器,默认wait_timeout = 28800;所以你可以设置更小的值,例如10.也可以杀死线程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值