一般mysql冻结

时间:2009-02-20 10:08:59

标签: mysql

我们的MySQL服务器表现得很奇怪 - 在一个表上执行大量查询将几乎锁定它,没有其他查询将被响应,即使它在完全不相关的表上是一个微不足道的(如SELECT钥匙,INSERT,甚至是EXPLAIN) - 它只会等待沉重的一个完成。

我真的没有想法会导致什么 - 那就是大量的免费线程,CPU处于空闲/等待状态,网络是免费的,有足够的内存......等。

任何人有什么想法要找什么?

1 个答案:

答案 0 :(得分:0)

MySQL有多少内存?我的猜测是,它必须转到临时表的磁盘,这可能是杀手。你的my.cnf / my.ini文件中的innodb_buffer_pool_size有多大?通过增加(增加内存使用量)较小的查询(以及需要进行大量排序的查询)将不必命中磁盘。

下次查询开始对您执行此操作时,请登录MySQL,执行“显示完整进程列表”并记录其中的内容。如果对查询发出的EXPLAIN或DESCRIBE发生缓慢,它是什么?它是否包含它将进入临时表的注释?

当MySQL开始使用临时表时,事情可能会感觉它们正在消亡,特别是如果你没有快速磁盘。