成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL慢日志全解析!

數據庫 MySQL
慢日志在日常數據庫運維中經常會用到,我們可以通過查看慢日志來獲得效率較差的 SQL ,然后可以進行 SQL 優化。本篇文章我們一起來學習下慢日志相關知識。

[[399464]]

本文轉載自微信公眾號「MySQL技術」,作者MySQL技術。轉載本文請聯系MySQL技術公眾號。

前言:

慢日志在日常數據庫運維中經常會用到,我們可以通過查看慢日志來獲得效率較差的 SQL ,然后可以進行 SQL 優化。本篇文章我們一起來學習下慢日志相關知識。

1.慢日志簡介

慢日志全稱為慢查詢日志(Slow Query Log),主要用來記錄在 MySQL 中執行時間超過指定時間的 SQL 語句。通過慢查詢日志,可以查找出哪些語句的執行效率低,以便進行優化。

默認情況下,MySQL 并沒有開啟慢日志,可以通過修改 slow_query_log 參數來打開慢日志。與慢日志相關的參數介紹如下:

  • slow_query_log:是否啟用慢查詢日志,默認為0,可設置為0、1,1表示開啟。
  • slow_query_log_file:指定慢查詢日志位置及名稱,默認值為host_name-slow.log,可指定絕對路徑。
  • long_query_time:慢查詢執行時間閾值,超過此時間會記錄,默認為10,單位為s。
  • log_output:慢查詢日志輸出目標,默認為file,即輸出到文件。
  • log_timestamps:主要是控制 error log、slow log、genera log 日志文件中的顯示時區,默認使用UTC時區,建議改為 SYSTEM 系統時區。
  • log_queries_not_using_indexes:是否記錄所有未使用索引的查詢語句,默認為off。
  • min_examined_row_limit:對于查詢掃描行數小于此參數的SQL,將不會記錄到慢查詢日志中,默認為0。
  • log_slow_admin_statements:慢速管理語句是否寫入慢日志中,管理語句包含 alter table、create index 等,默認為 off 即不寫入。

一般情況下,我們只需開啟慢日志記錄,配置下閾值時間,其余參數可按默認配置。對于閾值時間,可靈活調整,比如說可以設置為 1s 或 3s 。

2.慢日志實戰

在配置文件中,我們可以設置以下幾個慢日志相關參數:

  1. # 慢查詢日志相關配置,可根據實際情況修改 
  2. vim /etc/my.cnf  
  3. [mysqld]  
  4. slow_query_log = 1 
  5. slow_query_log_file = /data/mysql/logs/slow.log 
  6. long_query_time = 1 
  7. log_timestamps = SYSTEM 
  8. log_output = FILE 

下面我們具體看下,慢日志會記錄哪些內容?我們執行一條較慢的查詢 SQL ,來看下在慢日志中的體現。

  1. # 該條SQL執行時間超過閾值 
  2.  
  3. Time: 2021-05-13T17:38:03.687811+08:00 
  4. User@Host: root[root] @  [192.168.85.0]  Id: 2604943 
  5. # Query_time: 1.099889  Lock_time: 0.000144 Rows_sent: 39  Rows_examined: 45305 
  6. SET timestamp=1620898683; 
  7. select * from test_table where col_name like '%測試%'

如果啟用了慢速查詢日志,并且選擇了 FILE 作為輸出目標,則寫入日志的每個語句都以 # 字符開頭。對于每一組慢SQL,第一行記錄的是該條 SQL 執行的時刻(如果 log_timestamps 參數為 UTC ,則改時間會顯示 UTC 時區時間),第二行記錄的是執行該語句的用戶和 IP 以及鏈接 id ,第三行的幾個字段解釋如下:

  • Query_time: duration 語句執行時間,以秒為單位。
  • Lock_time: duration 獲取鎖的時間(以秒為單位)。
  • Rows_sent: N 發送給 Client 端的行數。
  • Rows_examined: N 服務器層檢查的行數(不計算存儲引擎內部的任何處理)。

下面兩行分別是此語句執行時候的時間戳和具體慢 SQL 。

在實際環境下,不建議開啟 log_queries_not_using_indexes 參數,此參數打開后可能導致慢日志迅速增長。對于慢日志的篩選與分析,我們可以借助 mysqldumpslow、pt-query-digest 等工具來分析。對于慢日志文件,要定期進行歸檔處理,比如可以暫時關閉慢日志,然后將舊文件重命名,之后再開啟慢日志,這樣就會寫入新的日志文件中,有效減小日志體積。

 

責任編輯:武曉燕 來源: MySQL技術
相關推薦

2017-04-01 19:00:25

MySQL慢查詢

2018-10-12 16:45:10

MySQL查詢日志數據庫

2022-05-17 08:24:58

查詢日志MySQL

2010-11-25 16:29:26

MySQL慢日志查詢

2017-09-18 15:20:02

MySQL慢查詢日志配置

2022-12-26 00:48:38

2019-07-28 21:05:47

ICMPIP網絡協議

2017-06-13 08:55:29

Log日志MySQL

2017-06-13 15:10:02

大數據Log日志

2011-08-29 14:50:08

jQuery插件

2010-02-06 10:14:36

Android Act

2010-03-29 10:50:04

安裝Nginx

2011-09-14 10:09:02

負載均衡網站架構緩存

2016-12-02 19:00:13

Android FraAndroid

2011-06-28 08:32:40

MySQL慢查詢日志

2009-12-17 17:37:42

Ruby on Rai

2010-02-02 13:32:32

Python繼承

2010-02-06 17:17:17

Android手機

2010-02-22 10:18:29

Python代碼

2010-02-24 16:33:28

Python功能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产一区二区三区久久久蜜月 | 国产精品成人在线播放 | 欧美精品1区2区 | 99热这里只有精品8 激情毛片 | 国产精品久久久久国产a级 欧美日韩国产免费 | www.天天操 | 九九色综合| 久久与欧美 | 国产美女一区 | 久久精品国产久精国产 | 国产精品国产a级 | 波多野结衣一区二区三区在线观看 | 成人一区二区电影 | 男女在线免费观看 | 欧美久久久久久久久 | 亚洲一区不卡 | 一级片av| 中文字幕亚洲视频 | 中文字幕成人av | 亚洲女人天堂成人av在线 | 亚洲日本一区二区三区四区 | 国产精品久久久久久久久久免费看 | 亚洲国产精品99久久久久久久久 | 精品日韩| 四虎影院免费在线 | 亚洲综合大片69999 | 久久久久网站 | 国产精品国产三级国产aⅴ无密码 | 国产成人精品一区二区三区在线观看 | 欧美精品一区二区三区在线 | av网站在线播放 | 亚洲aⅴ | 欧美日韩成人一区二区 | 欧美 日本 国产 | 色婷婷综合久久久中字幕精品久久 | 狠狠操狠狠操 | 久久精品国产清自在天天线 | 极品久久 | 中文字幕日韩专区 | 99精品免费久久久久久久久日本 | 一级毛片在线视频 |