SQL优化(二)-- 慢查询
生活随笔
收集整理的這篇文章主要介紹了
SQL优化(二)-- 慢查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.慢查詢日志
MYSQL的慢查詢日志是Mysql提供的一種日志記錄方式,它主要是用來記錄mysql執行語句過程中,響應時間超過閥值的語句,這個閥值可以通過long_query_time去指定,比如說如果我們將long_query_time指定為5,則意思執行耗時5秒以上的語句都會被我們的慢查詢日志給記錄下來.
2.慢查詢日志的作用
通過使用慢查詢日志,我們可以先捕獲耗時的語句,然后再結合explain執行計劃進行全面的分析,從而達到優化的目的
默認情況下,mysql數據庫并沒有開啟慢查詢日志,因為開啟慢查詢日志記錄本身就需要消耗數據庫服務器性能,需要我們手動來開啟,如果不是專門做優化的話,不建議開啟慢查詢日志
3.開啟慢查詢
查看是否開啟和如何開啟慢查詢日志
1 -- 查看 2 show variables like '%slow_query_log%'; 3 --開啟(注意:只是臨時生效,數據庫重啟之后,失效) 4 set global slow_query_log=1; 5 --永久開啟 6 -- 1.修改my.cnf文件,在[mysqld]下增加或修改參數 7 slow_query_log=1; 8 slow_query_log_file="文件路徑/kaijun-slow.log"; (如果不指定這一行的話,系統默認會給一個默認文件名) 9 -- 2. 重啟mysql服務器設定慢查詢日志的閥值
1 -- 查看當前閥值(默認是10s) 2 show global variables like 'long_query_time'; 3 4 -- 設置閥值 5 long_query_time=秒數 6 -- 注意: 只有sql語句耗時大于long_query_time的語句才會被記錄下來調試語句
select sleep(秒數);查看當前系統中慢查詢出現的次數
show global status like '%Slow_queries%';慢查詢開啟配置模版
1 slow_query_log=1 2 slow_query_log_file="文件路徑/kaijun-slow.log" 3 long_query_time=秒數 4 log_output=file,table (日志輸出到文件和mysql數據庫中的slow_log表中)轉載于:https://www.cnblogs.com/gdwkong/articles/8504937.html
總結
以上是生活随笔為你收集整理的SQL优化(二)-- 慢查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 22-高级特性之内建方法(3)
- 下一篇: JavaScript的类型、值和变量