MySQL中的慢查詢?nèi)罩臼且环N記錄數(shù)據(jù)庫中執(zhí)行時間較長的查詢語句的工具。通過分析慢查詢?nèi)罩荆梢詭椭覀冋页霾樵冃阅芷款i,并進行優(yōu)化。
MySQL的慢查詢?nèi)罩疚募J是關閉狀態(tài),需要在MySQL配置文件中進行配置開啟。在my.cnf或者my.ini文件中,找到以下參數(shù):
slow_query_log = 1 slow_query_log_file = /var/log/mysql/mysql-slow.log long_query_time = 2
其中slow_query_log表示開啟慢查詢?nèi)罩竟δ?,slow_query_log_file表示指定慢查詢?nèi)罩疚募痛鎯ξ恢?,long_query_time表示指定查詢時間超過多少秒才算慢查詢(默認值是10秒)。
開啟慢查詢?nèi)罩竞?,MySQL會把慢查詢語句記錄在指定的慢查詢?nèi)罩疚募?。我們可以使用以下命令查看慢查詢?nèi)罩疚募?/p>
sudo tail -f /var/log/mysql/mysql-slow.log
這個命令會將慢查詢?nèi)罩緦崟r輸出到控制臺上,方便我們查看最新的慢查詢語句信息。
當我們發(fā)現(xiàn)某個查詢語句執(zhí)行時間較長時,可以把該語句復制到MySQL客戶端中執(zhí)行,進一步分析其執(zhí)行計劃和索引情況,找出優(yōu)化方案,提高查詢性能。