MySQL 5.0.x 版以前語法可以參考這篇文章: 找出 MySQL 哪些 Query 速度較慢
現在 MySQL 5.1.52 的版本使用的參數語法不同了...
當完成了一個網站後,程式中針對MySQL查詢(query)的次數那麼多,那要如何找出query查詢時間較長的語法呢?
其實在my.cnf設定檔中(一般在/etc/my.cnf),已經提供了參數可以直接產生log記錄檔案,讓管理者可以很清楚了解到那些查詢(query)的語法花費較多的時間。
請在my.cnf設定檔中,找到[mysqld]標籤,在此標籤下面加上:
QUOTE:
slow_query_log = /var/log/mysql-slow.log #slow query記錄檔的路儲存路徑
long_query_time = 3 #query超過3秒時,則會記錄
log-short-format
設定完成my.cnf後,請記得要重新啟動MySQL
其中,slow_query_log 是記錄檔的儲存路徑,這個目錄一定要是mysql使用者可以寫入權限的位置,因為 mysql-slow.log 記錄檔是由mysql使用者去執行寫入;
否則,會造成記錄檔案無法產生的情況,這個問題是最常發生,請切記!