我们有一个查询,大部分时间大约需要150毫秒才能完成。每天都有成千上万的用户通过系统,而没有任何问题。但是每隔几天就会发生一些情况,并且其中一个查询突然需要大约30分钟才能完成。任何后续查询也运行缓慢。我们能够恢复的唯一方法是杀死其中任何一个查询。这样做之后,所有后续查询都会再次以通常的150ms速度运行。出于安全原因,不允许发布查询本身。但这没什么特别的。
dB是MySQL 5.5.40,并使用innodb引擎。在此期间,所有常规系统资源都看起来不错-内存,CPU,磁盘空间,磁盘I / O,网络I / O。
有人可以给我一些有关如何解决此问题性质的想法吗?我不认为这是查询,因为它似乎在99%的时间内都很好用。因此,我认为正在发生某种MySQL错误或奇怪的竞争情况。
最佳答案
在MySQL 5.5中,这似乎是与计划程序有关的问题。自从我们升级到5.6之后,问题就消失了。查询的解释也完全不同。