2010-03-29 83 views
4

我將如何監視MySQL來檢測正在運行緩慢的SELECT?鑑定出性能差的SELECT後,我將如何分析以改進它?如何檢查登錄mysql

回答

1

MySQL保留一個'慢查詢日誌',它將爲您提供有關運行緩慢的查詢的信息。

我認爲它是默認啓用的,它的位置在MySQL .ini文件中設置。

有關慢查詢日誌的更多信息,請參見here

您可以使用EXPLAIN獲取有關MySQL如何執行查詢的信息 - 只需在查詢前輸入EXPLAIN即可。關於如何解釋結果,有一篇很好的文章here

2

您將啓用slow query日誌記錄,例如,這下[mysqld]部分

set-variable=slow_query_log=on 
set-variable=long_query_time=20 

添加到您的my.cnf這將記錄以20秒以上的所有查詢到一個「主機名」 -slow.log,例如/var/lib/mysql/localhost-slow.log

然後,您會檢查這些查詢,並至少運行EXPLAIN,並查明是什麼讓它變慢,添加索引,重寫SQL等 - 雖然優化查詢是另外一本書。