近期的測試程序上線之後,感覺有執行效率低下的sql語句,但是又不能很快的知道那條sql語句執行慢。
首先想到,開啓慢查詢日誌記錄功能,會把執行時間慢的sql語句記錄下來。就可以通過日誌,進行sql語句的監控,並且針對慢的sql進行優化。
1.慢查詢日誌的開啓、日誌位置
查看慢查詢日誌狀態
mysql > show variables like 'slow_query%';
開啓慢查詢日誌文件
mysql > set global slow_query_log = 1;
查詢現在執行的語句的時間值是多少?也就是說超過多少秒,就被記錄下來了
mysql > show variables like 'long_query_time';
寫一個慢語句進行測試
修改所有的deptno的數據修改爲隨機數
mysql>update emp set deptno=floor(rand()*1800000);
如果默認10s時間太長,不滿足實際需要,可以自行設置時間
mysql > set long_query_time = 1;
記錄下慢sql語句之後,進行對應的優化操作,提高sql語句的執行效率。