查找需要優化的sql語句

慢查詢日誌:

是一種mysql提供的日誌,記錄所有執行時間超過某個時間界限的sql的語句。這個時間界限,我們可以指定。在mysql中默認沒有開啓慢查詢,即使開啓了,只會記錄執行的sql語句超過10秒的語句。

如何啓動慢查詢日誌:

  • 方式一: 臨時啓動慢查詢記錄日誌

    注意:先把mysql關閉後,再執行以上指令啓動。

    進入cmd開始啓動執行:mysqld.exe --safe-mode --slow-query-log

    通過慢查詢日誌定位執行效率較低的SQL語句。慢查詢日誌記錄了所有執行時間超過long_query_time所設置的SQL語句。

    在默認情況下,慢查詢日誌是存儲到data目錄下面的。根據配置文件裏面的配置,找到data的存儲路徑。

    可以通過命令查看慢查詢日誌的時間: show variables like 'long_query_time';

    修改慢查詢日誌時間:set long_query_time=1;

    結論:創建完索引後,索引文件會變大,添加索引會明顯的提高查詢速度。

  • 方式二:通過修改配置文件,添加如下語句

    # 低版本mysql
    log-slow-queries="d:/slow-log"
    long_query_time=1
    
    # 高版本mysql
    slow-query-log=1
    slow_query_log_file="d:/slow-log"
    long_query_time=1
    

**精確記錄查詢時間: **

使用mysql提供profile機制完成。

profile記錄每次執行的具體時間,精確的時間到小數點8位。

  • 開啓profile機制

    執行需要分析的sql語句(自動記錄該sql的時間)

    set profiling = 1;
    
  • 查看記錄sql語句的執行時間:

    show profiles;
    

    注意:不需要分析時,最好將其關閉。

  • 關閉profile機制

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