慢查詢

基本定義

分析MySQL語句查詢性能的方法除了使用EXPLAIN輸出執行計劃,還可以讓MySQL記錄下查詢超過指定時間的語句,我們將超過指定時間的SQL語句查詢稱爲“慢查詢”。

編輯本段記錄慢查詢的方法:

查看/設置“慢查詢”的時間定義

1
2
3
4
5
6
7
mysql>showvariableslike"long%";
+-----------------+----------+
|Variable_name|Value|
+-----------------+----------+
|long_query_time|0.000100|
+-----------------+----------+
1rowinset(0.00sec)
如上述語句輸出,“慢查詢”的時間定義爲0.0001秒(方便測試,一般設置爲1-10秒)。使用下面語句定義“慢查詢”時間
1
2
mysql>setlong_query_time=0.0001;
QueryOK,0rowsaffected(0.00sec)

開啓“慢查詢”記錄功能

1
2
3
4
5
6
7
8
9
mysql>showvariableslike"slow%";
+---------------------+------------------------------------+
|Variable_name|Value|
+---------------------+------------------------------------+
|slow_launch_time|2|
|slow_query_log|OFF|
|slow_query_log_file|/opt/mysql/data/localhost-slow.log|
+---------------------+------------------------------------+
3rowsinset(0.00sec)
上述語句查看“慢查詢”的配置信息,你可以自定義日誌文件的存放,但必須將slow_query_log全局變量設置爲“ON”狀態,執行以下語句:
1
2
mysql>setglobalslow_query_log=ON;
QueryOK,0rowsaffected(0.01sec)
結果:
1
2
3
4
5
6
7
8
9
mysql>showvariableslike"slow%";
+---------------------+------------------------------------+
|Variable_name|Value|
+---------------------+------------------------------------+
|slow_launch_time|2|
|slow_query_log|ON|
|slow_query_log_file|/opt/mysql/data/localhost-slow.log|
+---------------------+------------------------------------+
3rowsinset(0.00sec)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章