分析MySQL語句查詢效能的方法除了使用EXPLAIN輸出執行計劃,還可以讓MySQL記錄下查詢超過指定時間的語句,我們將超過指定時間的SQL語句查詢稱為「慢查詢」。
MySQL慢查詢就是在日誌中記錄執行比較慢的SQL語句,這個功能需要開啟才能用。
在MySQL的設定檔my.cnf中寫上:
long_query_time = 10 log-slow-queries = /var/lib/mysql/mysql-slow.log
long_query_time是指執行超過多久的SQL會被日誌記錄下來,這裡是10 秒。
log-slow-queries設定把日誌寫在那裡(例子中慢查詢日誌會寫到檔案/var/lib/mysql/mysql-slow.log中),當空的時候,系統會給慢查詢日誌賦予主機名,並加上slow.log。如果設定了參數log-long-format ,那麼所有沒有使用索引的查詢也將被記錄。
這是一個非常有用的日誌。它對於效能的影響不大(假設所有查詢都很快),並且強調了那些最需要注意的查詢(丟失了索引或索引沒有最佳應用)。
推薦教學: 《mysql教學》
以上是慢查詢是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!