如果你在進行MySQL數據庫的性能優化,那么你肯定需要查看每個SQL查詢的執行時間。通過查看SQL查詢的執行時間,你就可以知道哪些查詢語句比較耗時,從而優化查詢語句,提高SQL查詢的執行效率。
在MySQL中,我們可以通過設置參數和查詢服務器狀態來獲取SQL查詢的執行時間。
方法一:設置slow_query_log參數
可以通過設置slow_query_log參數,記錄執行時間超過設定閾值的SQL查詢語句。設置方法如下:
# 加入以下參數 slow_query_log = 1 slow_query_log_file = /var/lib/mysql/slow.log long_query_time = 2 # 單位是秒,表示超過2秒的查詢會被記錄
當查詢時間超過設定閾值,默認為10秒時,在slow_query_log_file文件中記錄相應的SQL查詢語句。
查詢slow.log文件,查看執行時間超過閾值的SQL語句:
cat slow.log
方法二:查詢服務器狀態
可以通過查詢MySQL服務器狀態,獲取每個查詢語句的執行時間。查詢方法如下:
show status like '%Connect%'; show status like '%Handler%';
查詢結果中,連接和處理的次數代表執行的查詢語句數量,連接時間和處理時間的總和表示所有查詢語句的執行時間。通過除以查詢數量,即可得到每個查詢語句的平均執行時間。
除此之外,還可以通過slow_query_log參數和查詢服務器狀態的結合使用,獲取更加詳細的SQL查詢執行時間信息。