2012-12-07 219 views
2

如何查找花費太長時間執行(超過5秒)的MySQL查詢?MySQL:幫助查找花費太長時間執行的查詢

我嘗試使用PROCESSLIST,但它顯示最小信息。我需要當前在服務器上運行的完整查詢,以便我可以嘗試優化查詢以減少我的服務器負載。

是否有任何終端命令可用來查找當前正在處理的查詢?

+0

你試過['EXPLAIN'](http://dev.mysql.com/doc/refman/5.0/en/explain.html)嗎? – inhan

+0

http://stackoverflow.com/questions/11606972/how-can-i-enable-slow-query-log-on-my-server?rq=1 –

+0

感謝Jan Dvorak。 我試過了。但它顯示了所有通過mysql執行的查詢。但我需要孤立的查詢運行超過一秒 –

回答

1

如果您使用MySQL 5.1+,則可以使用慢速查詢日誌。 Herehere是文檔。配置和運行選項與MySQL版本相關。但我相信您可以根據與您的環境相關的說明達到目標。

+0

這似乎是最好的方式去,因爲你可以指定你的要求。我個人使用[Monyog](https://www.webyog.com/product/monyog),因爲它易於使用和提供的數據量。如果你不想購買工具。您可以下載14天的試用版來排序此特定問題。 –