需要一些见解。慢查询日志正在慢慢扩展,出现这样的错误。我是对这些问题进行分析的新手,但似乎这些查询并不一定很慢。
服务器是否可能在这些时候过载或备份?任何其他想法赞赏。 (查看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;
注意:这些查询每天运行数百次,但很少进行慢速列表。
答案 0 :(得分:0)
在得出结论认为查询“慢”之前,有许多因素需要认识。
当服务器严重时,查询将更频繁地出现在日志中 加载时比不加载,所以你应该评估查询执行 一般系统活动的时间。
如果您的服务器使用--log-queries-not-using-indexes
运行
选项,慢查询日志也将包含执行的查询
不使用任何索引。
此外,使用EXPLAIN
语句查看如何使用它并没有什么坏处
查询优化器处理这些查询。
对于第一个,您可以定期使用SHOW PROCESSLIST
声明。