1. 程式人生 > >(轉)MySQL慢查詢分析優化 + MySQL調優

(轉)MySQL慢查詢分析優化 + MySQL調優

優化 mysqldump 默認 database host show mysqld mysql 命令

1.long_query_time的默認值為10,意思是運行10S以上的語句。
2.臨時設置開啟慢查詢日誌
mysql> show variables like %slow_query_log%;
+---------------------+------------------------------------------+
| Variable_name       | Value                                    |
+---------------------+------------------------------------------+
| slow_query_log      | ON                                       |
| slow_query_log_file | /usr/local/mysql/data/localhost-slow.log |
+---------------------+------------------------------------------+
#使用set 
global slow_query_log=1開啟了慢查詢日誌只對當前數據庫生效 3.修改my.cnf文件,增加或修改參數slow_query_log 和slow_query_log_file後,然後重啟MySQL服務器,如下所示: slow_query_log =1 slow_query_log_file=/usr/local/mysql/data/localhost-slow.log

註意:使用命令 set global long_query_time=4修改後,需要重新連接或新開一個會話才能看到修改值。你用show variables like long_query_time
查看是當前會話的變量值,你也可以不用重新連接會話,而是用show global variables like long_query_time; 如下所示:   mysql> show global variables like long_query_time; +-----------------+----------+ | Variable_name | Value | +-----------------+----------+ | long_query_time | 4.000000 | +-----------------+----------+
日誌分析工具mysqldumpslow:
比如:
得到返回記錄集最多的10個SQL。
mysqldumpslow 
-s r -t 10 /database/mysql/mysql06_slow.log 得到訪問次數最多的10個SQL mysqldumpslow -s c -t 10 /database/mysql/mysql06_slow.log 得到按照時間排序的前10條裏面含有左連接的查詢語句。 mysqldumpslow -s t -t 10 -g “left join” /database/mysql/mysql06_slow.log 另外建議在使用這些命令時結合 | 和more 使用 ,否則有可能出現刷屏的情況。 mysqldumpslow -s r -t 20 /mysqldata/mysql/mysql06-slow.log | more 參考: https://www.cnblogs.com/saneri/p/6656161.html

(轉)MySQL慢查詢分析優化 + MySQL調優