2013-04-28 27 views
0

需要一些洞察力。慢速查詢日誌正在緩慢擴展,像這樣的錯誤。我對這些問題的分析很新,但似乎這些查詢不一定很慢。這些緩慢的查詢日誌條目是否指示服務器過載或查詢效率低下?

服務器是否可能在這些時間過載或備份?任何其他想法讚賞。 (在rows_examined,lock_time和query_time看)

# Time: 130427 13:05:10 
# [email protected]: 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 
# [email protected]: 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 
# [email protected]: 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

跳轉到查詢結果爲「緩慢」之前,有很多因素需要認識。

  • 查詢將在服務器超負荷時比未裝載 在日誌中更經常出現,所以你應該評估查詢執行對一般的系統活動 時間。

  • 如果您的服務器與--log-queries-not-using-indexes 選項運行,慢速查詢日誌也將包含在不使用任何索引執行 查詢。

  • 此外,使用EXPLAIN語句查看查詢優化器如何處理這些查詢並不會造成影響。

對於第一個,您可以定期使用SHOW PROCESSLIST語句。

+0

'對於第一個...'你的意思是你的第一顆子彈嗎? – David 2013-04-28 02:02:22

+0

是的,'SHOW PROCESSLIST'語句會爲您提供有關當前正在運行的查詢的信息。有關更多信息,請參閱[MySQL參考手冊](http://dev.mysql.com/doc/refman/5.5/en/show-processlist.html),並記住,您需要具有'PROCESS'有權查看完整的信息。 – GregD 2013-04-28 02:05:51