中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql慢查詢日志的過程

發布時間:2021-08-20 11:43:45 來源:億速云 閱讀:106 作者:chen 欄目:數據庫

這篇文章主要介紹“Mysql慢查詢日志的過程”,在日常操作中,相信很多人在Mysql慢查詢日志的過程問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Mysql慢查詢日志的過程”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

mysql慢查詢日志對于跟蹤有問題的查詢非常有用,可以分析出代碼實現中耗費資源的sql語句,對我們程序的優化有很高的參考。本篇主要將慢查詢日志的開啟,日志分析,這也是優化SQL程序的一般步驟中至關重要的一步。
  1.mysql慢查詢日志
  打開mysql的慢查詢日志很簡單,只需要在mysql的配置文件里(windows系統是my.ini,linux系統是my.cnf)的[mysqld]下面加上
  Java代碼
  log-slow-queries=mysql_slow.log
  long_query_time=3
  其中log-slow-queries為日志的文件名,可以指定目錄,如log-slow- queries=D:\mysql_slow.log; long_query_time為定義多長的查詢我們定義為慢查詢,并記錄在log-slow-queries 指定的文件中,在這里我們定義超過3秒的查詢進行記錄。
  配置完成以后重啟Mysql服務器,執行show variables like '%slow%';查看慢查詢日志是否開啟,如果slow_query_log和log_slow_queries顯示為on,那說明服務器的慢查詢日志已
  經開啟了。如下顯示:
  Java代碼
  mysql> show variables like '%slow%';
  +---------------------+----------------+
  | Variable_name       | Value          |
  +---------------------+----------------+
  | log_slow_queries    | ON             |
  | slow_launch_time    | 2              |
  | slow_query_log      | ON             |
  | slow_query_log_file | mysql_slow.log |
  +---------------------+----------------+
  4 rows in set (0.00 sec)
  slow_launch_time跟慢查詢日志沒有任何關系, 它代表的是thread create的一個閾值,如果要看 long_query_time,可以用
  Java代碼
  mysql> show variables like '%long%';
  +-----------------+----------+
  | Variable_name   | Value    |
  +-----------------+----------+
  | long_query_time | 3.000000 |
  +-----------------+----------+
  1 row in set (0.00 sec)
  2.mysql慢查詢日志分析
  建表如下圖,建表勿要給text加上索引,否則可能出現不了超過3秒的查詢,數據表填充了4194304條數據。

 
  我們來執行一個超過3秒的查詢,如下:
  Java代碼
  mysql> select * from wei where text='orange';
  +---------+--------+
  | id      | text   |
  +---------+--------+
  | 4103519 | orange |
  +---------+--------+
  1 row in set (3.79 sec)
  再執行一個超過3秒的和一個沒有超過3秒的:
  Java代碼
  mysql> select * from wei where text='xishizhaohua';
  Empty set (3.82 sec)
  Java代碼
  [mysql> select * from wei where id=4564;
  +------+--------------------+
  | id   | text               |
  +------+--------------------+
  | 4564 | yyyyyyyyyyyyyyyyyy |
  +------+--------------------+
  1 row in set (0.02 sec)
  可以通過下面的命令查看現在這個session有多少個慢查詢:

 
  現在我們可以查看mysql_slow.log(win7默認在C:\ProgramData\MySQL\MySQL Server 5.1\data下面),里邊內容如下,內容比較明了,包括查詢花費的語句及時間,還包括查詢時的時間戳等信息,其中Rows_examined為檢查的 行數,對我們優化也很有幫助
  # Time: 121017 17:38:54
  # User@Host: root[root] @ localhost [127.0.0.1]
  # Query_time: 3.794217 Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 4194304
  SET timestamp=1350466734;
  select * from wei where text='orange';
  # Time: 121017 17:46:22
  # User@Host: root[root] @ localhost [127.0.0.1]
  # Query_time: 3.819219  Lock_time: 0.000000 Rows_sent: 0  Rows_examined: 4194304
  SET timestamp=1350467182;
  select * from wei where text='xishizhaohua';

到此,關于“Mysql慢查詢日志的過程”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

醴陵市| 永春县| 永兴县| 博野县| 乌兰察布市| 怀化市| 新郑市| 淮北市| 阳泉市| 西和县| 华蓥市| 宁都县| 贵南县| 余江县| 无极县| 南雄市| 平陆县| 长岛县| 曲松县| 新巴尔虎左旗| 鄯善县| 泌阳县| 临夏县| 正定县| 淮安市| 莱阳市| 武平县| 平舆县| 临桂县| 十堰市| 宜城市| 安福县| 茌平县| 开原市| 赤城县| 合阳县| 青川县| 霞浦县| 连南| 株洲市| 吉林省|