2011-08-23 51 views
0

我的服务器(PHP + MySQL)出现严重的性能问题(突如其来)。我启用了MySQL慢查询日志,他开始显示一些甚至需要25秒才能完成的查询。例如这一个需要15秒时:服务器缓存和mysql查询慢日志

# Time: 110823 2:07:01 
# [email protected]: ***[***] @ localhost [] 
# Query_time: 15 Lock_time: 0 Rows_sent: 1 Rows_examined: 1 
use ***; 
SELECT `users`.* 
FROM (`users`) 
WHERE `users`.`id` = 4413 
ORDER BY `users`.`id` ASC 
LIMIT 0, 1; 

点是,在字段Id有一个主键和,如果我的phpmyadmin从运行查询它在0.00008秒执行。这是解释计划:

id select_type  table type possible_keys key  key_len  ref  rows Extra 
1 SIMPLE users const PRIMARY  PRIMARY  4 const 1 

我真的很困惑,因为托管服务提供商则说一切都很好,是我的数据库。我用马修蒙哥马利的调整引擎检查了所有参数,并且所有设置看起来都很好...

+1

此查询可能出现在缓慢的查询日志中,因为在某个时间点数据库服务器过载。我并不认为在正常情况下,这样的查询可能需要25秒才能完成 – itsmeee

回答

0

我确认了我的答案。数据库陷入了多次启动的无索引查询之中。它们不在mysql-slow日志中显示,因为它们在1秒以内,但是它们执行了很多次。