这些慢速查询日志条目是指示服务器过载还是低效查询?

时间:2013-04-28 01:47:20

标签: mysql load cpu-usage

需要一些见解。慢查询日志正在慢慢扩展,出现这样的错误。我是对这些问题进行分析的新手,但似乎这些查询并不一定很慢。

服务器是否可能在这些时候过载或备份?任何其他想法赞赏。 (查看rows_examined,lock_time和query_time)

# Time: 130427 13:05:10
# User@Host: acctname_member[acctname_member] @ localhost []
# Query_time: 8.702061  Lock_time: 0.000059 Rows_sent: 0  Rows_examined: 1
UPDATE Notification SET nextFile = IF(nextFile = 999, 100, nextFile + 1);

# Time: 130427 13:05:21
# User@Host: acctname_member[acctname_member] @ localhost []
# Query_time: 6.796559  Lock_time: 0.000039 Rows_sent: 0  Rows_examined: 1
UPDATE check_it SET accomp = 'In Process', verbose = '258', delta = '0 -atl (1)' WHERE Num = '162615';

# Time: 130427 15:37:53
# User@Host: acctname_member[acctname_member] @ localhost []
# Query_time: 6.350998  Lock_time: 0.000033 Rows_sent: 0  Rows_examined: 1
UPDATE User SET mobileOS = 'iPhone 6.1.3', monthlyLogin = monthlyLogin + 1, lastVisit = NOW() WHERE empNum = 387;

注意:这些查询每天运行数百次,但很少进行慢速列表。

1 个答案:

答案 0 :(得分:0)

在得出结论认为查询“慢”之前,有许多因素需要认识。

  • 当服务器严重时,查询将更频繁地出现在日志中 加载时比不加载,所以你应该评估查询执行 一般系统活动的时间。

  • 如果您的服务器使用--log-queries-not-using-indexes运行 选项,慢查询日志也将包含执行的查询 不使用任何索引。

  • 此外,使用EXPLAIN语句查看如何使用它并没有什么坏处 查询优化器处理这些查询。

对于第一个,您可以定期使用SHOW PROCESSLIST声明。