欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL 慢日志相關(guān)知識(shí)總結(jié)

 更新時(shí)間:2021年05月14日 17:10:47   作者:MySQL技術(shù)  
慢日志在日常數(shù)據(jù)庫(kù)運(yùn)維中經(jīng)常會(huì)用到,我們可以通過(guò)查看慢日志來(lái)獲得效率較差的 SQL ,然后可以進(jìn)行 SQL 優(yōu)化。本篇文章我們一起來(lái)學(xué)習(xí)下慢日志相關(guān)知識(shí)。

  1.慢日志簡(jiǎn)介

慢日志全稱為慢查詢?nèi)罩荆⊿low Query Log),主要用來(lái)記錄在 MySQL 中執(zhí)行時(shí)間超過(guò)指定時(shí)間的 SQL 語(yǔ)句。通過(guò)慢查詢?nèi)罩?,可以查找出哪些語(yǔ)句的執(zhí)行效率低,以便進(jìn)行優(yōu)化。

默認(rèn)情況下,MySQL 并沒(méi)有開(kāi)啟慢日志,可以通過(guò)修改 slow_query_log 參數(shù)來(lái)打開(kāi)慢日志。與慢日志相關(guān)的參數(shù)介紹如下:

  • slow_query_log:是否啟用慢查詢?nèi)罩?,默認(rèn)為0,可設(shè)置為0、1,1表示開(kāi)啟。
  • slow_query_log_file:指定慢查詢?nèi)罩疚恢眉懊Q,默認(rèn)值為host_name-slow.log,可指定絕對(duì)路徑。
  • long_query_time:慢查詢執(zhí)行時(shí)間閾值,超過(guò)此時(shí)間會(huì)記錄,默認(rèn)為10,單位為s。
  • log_output:慢查詢?nèi)罩据敵瞿繕?biāo),默認(rèn)為file,即輸出到文件。
  • log_timestamps:主要是控制 error log、slow log、genera log 日志文件中的顯示時(shí)區(qū),默認(rèn)使用UTC時(shí)區(qū),建議改為 SYSTEM 系統(tǒng)時(shí)區(qū)。
  • log_queries_not_using_indexes:是否記錄所有未使用索引的查詢語(yǔ)句,默認(rèn)為off。
  • min_examined_row_limit:對(duì)于查詢掃描行數(shù)小于此參數(shù)的SQL,將不會(huì)記錄到慢查詢?nèi)罩局校J(rèn)為0。
  • log_slow_admin_statements:慢速管理語(yǔ)句是否寫(xiě)入慢日志中,管理語(yǔ)句包含 alter table、create index 等,默認(rèn)為 off 即不寫(xiě)入。

一般情況下,我們只需開(kāi)啟慢日志記錄,配置下閾值時(shí)間,其余參數(shù)可按默認(rèn)配置。對(duì)于閾值時(shí)間,可靈活調(diào)整,比如說(shuō)可以設(shè)置為 1s 或 3s 。

  2.慢日志實(shí)戰(zhàn)

在配置文件中,我們可以設(shè)置以下幾個(gè)慢日志相關(guān)參數(shù):

# 慢查詢?nèi)罩鞠嚓P(guān)配置,可根據(jù)實(shí)際情況修改
vim /etc/my.cnf 
[mysqld] 
slow_query_log = 1
slow_query_log_file = /data/mysql/logs/slow.log
long_query_time = 1
log_timestamps = SYSTEM
log_output = FILE

下面我們具體看下,慢日志會(huì)記錄哪些內(nèi)容?我們執(zhí)行一條較慢的查詢 SQL ,來(lái)看下在慢日志中的體現(xiàn)。

# 該條SQL執(zhí)行時(shí)間超過(guò)閾值

# Time: 2021-05-13T17:38:03.687811+08:00
# User@Host: root[root] @  [192.168.85.0]  Id: 2604943
# Query_time: 1.099889  Lock_time: 0.000144 Rows_sent: 39  Rows_examined: 45305
SET timestamp=1620898683;
select * from test_table where col_name like '%測(cè)試%';

如果啟用了慢速查詢?nèi)罩?,并且選擇了 FILE 作為輸出目標(biāo),則寫(xiě)入日志的每個(gè)語(yǔ)句都以 # 字符開(kāi)頭。對(duì)于每一組慢SQL,第一行記錄的是該條 SQL 執(zhí)行的時(shí)刻(如果 log_timestamps 參數(shù)為 UTC ,則改時(shí)間會(huì)顯示 UTC 時(shí)區(qū)時(shí)間),第二行記錄的是執(zhí)行該語(yǔ)句的用戶和 IP 以及鏈接 id ,第三行的幾個(gè)字段解釋如下:

  • Query_time: duration 語(yǔ)句執(zhí)行時(shí)間,以秒為單位。
  • Lock_time: duration 獲取鎖的時(shí)間(以秒為單位)。
  • Rows_sent: N 發(fā)送給 Client 端的行數(shù)。
  • Rows_examined: N 服務(wù)器層檢查的行數(shù)(不計(jì)算存儲(chǔ)引擎內(nèi)部的任何處理)。

下面兩行分別是此語(yǔ)句執(zhí)行時(shí)候的時(shí)間戳和具體慢 SQL 。

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

以上就是MySQL 慢日志相關(guān)知識(shí)總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于MySQL 慢日志的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL 兩張表數(shù)據(jù)合并的實(shí)現(xiàn)

    MySQL 兩張表數(shù)據(jù)合并的實(shí)現(xiàn)

    本文主要介紹了MySQL 兩張表數(shù)據(jù)合并的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • MySql表、字段、庫(kù)的字符集修改及查看方法

    MySql表、字段、庫(kù)的字符集修改及查看方法

    這篇文章主要介紹了MySql表、字段、庫(kù)的字符集修改及查看方法,本文分別給們它的修改及查看語(yǔ)句,需要的朋友可以參考下
    2015-07-07
  • MYSQL刪除匿名用戶的方法(提高安全性)

    MYSQL刪除匿名用戶的方法(提高安全性)

    今天看教程的時(shí)候,發(fā)現(xiàn)了MYSQL匿名用戶可以導(dǎo)致網(wǎng)站數(shù)據(jù)等安全問(wèn)題,這里分享下mysql中刪除匿名用戶的步驟,方便需要的朋友
    2012-10-10
  • 一次MySQL啟動(dòng)導(dǎo)致的事故實(shí)戰(zhàn)記錄

    一次MySQL啟動(dòng)導(dǎo)致的事故實(shí)戰(zhàn)記錄

    這篇文章主要給大家介紹了一次MySQL啟動(dòng)導(dǎo)致的事故實(shí)戰(zhàn)記錄,記錄了MySQL 啟動(dòng)成功但未監(jiān)聽(tīng)端口的解決方法,文中給出了詳細(xì)的解決方法,需要的朋友可以參考下
    2021-09-09
  • MySql索引和索引創(chuàng)建策略

    MySql索引和索引創(chuàng)建策略

    這篇文章主要介紹了MySql索引和索引創(chuàng)建策略,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)又是幫助
    2022-08-08
  • mysql遠(yuǎn)程跨庫(kù)聯(lián)合查詢的示例

    mysql遠(yuǎn)程跨庫(kù)聯(lián)合查詢的示例

    本文主要介紹了mysql遠(yuǎn)程跨庫(kù)聯(lián)合查詢的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • MySQL表約束的實(shí)現(xiàn)

    MySQL表約束的實(shí)現(xiàn)

    本文主要介紹了MySQL表約束的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 哪些情況會(huì)導(dǎo)致?MySQL?索引失效

    哪些情況會(huì)導(dǎo)致?MySQL?索引失效

    這篇文章主要介紹了哪些情況會(huì)導(dǎo)致MySQL索引失效,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • SQL字段拼接成新字段幾種常見(jiàn)的方法

    SQL字段拼接成新字段幾種常見(jiàn)的方法

    這篇文章主要給大家介紹了關(guān)于SQL字段拼接成新字段幾種常見(jiàn)的方法,如我們?cè)谶x擇商品的時(shí)候不止需要知道商品的名字,還需要商品代碼型號(hào)等,這個(gè)時(shí)候需要把這些字段拼接為一個(gè)字段進(jìn)行操作或者輸出,需要的朋友可以參考下
    2023-08-08
  • mysql實(shí)現(xiàn)if語(yǔ)句判斷功能的6種使用形式小結(jié)

    mysql實(shí)現(xiàn)if語(yǔ)句判斷功能的6種使用形式小結(jié)

    這篇文章主要給大家介紹了關(guān)于mysql實(shí)現(xiàn)if語(yǔ)句判斷功能的6種使用形式,MySQL的IF既可以作為表達(dá)式用,也可在存儲(chǔ)過(guò)程中作為流程控制語(yǔ)句使用,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07

最新評(píng)論