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

深入了解MySQL中的慢查詢?nèi)罩?/h1>
 更新時(shí)間:2023年03月17日 10:14:32   作者:跟著飛哥學(xué)編程  
什么是MySQL慢查詢呢?其實(shí)就是查詢的SQL語句耗費(fèi)較長(zhǎng)的時(shí)間。具體耗費(fèi)多久算慢查詢呢?這其實(shí)因人而異,有些公司慢查詢的閾值是100ms,有些的閾值可能是500ms。本文將通過示例和大家聊聊慢查詢的危害和常用場(chǎng)景,感興趣的可以了解一下

慢查詢?nèi)罩?/h2>

慢查詢?nèi)罩局饕脕碛涗泩?zhí)行時(shí)間超過設(shè)置的某個(gè)時(shí)長(zhǎng)的SQL語句,能夠幫助數(shù)據(jù)庫維護(hù)人員找出執(zhí)行時(shí)間比較長(zhǎng)、執(zhí)行效率比較低的SQL語句,并對(duì)這些SQL語句進(jìn)行針對(duì)性優(yōu)化。

開啟慢查詢

可以在 my.cnf 文件或者 my.ini 文件中配置開啟慢查詢?nèi)罩尽?/p>

[mysqld]
slow_query_log = 1
slow_query_log_file = /data/mysql/log/query_log/slow_statement.log
long_query_time = 10
log_output = FILE

各配置項(xiàng)說明如下:

slow_query_log:指定是否開啟慢查詢?nèi)罩?。指定的值?或者不指定值都會(huì)開啟慢查詢?nèi)罩荆恢付ǖ闹禐?0 或者 不配置此選項(xiàng)就不會(huì)開啟慢查詢?nèi)罩尽?/p>

slow_query_log_file:慢查詢?nèi)罩镜奈募恢谩?/p>

long_query_time:指定SQL語句執(zhí)行時(shí)間超過多少秒時(shí)記錄慢查詢?nèi)罩尽?/p>

log_output:與查詢?nèi)罩镜膌og_output選項(xiàng)相同,此處不再贅述。

注意:log_output 能夠配置將日志記錄到數(shù)據(jù)表中還是記錄到文件中,當(dāng)記錄到數(shù)據(jù)表中時(shí),則數(shù)據(jù)表中記錄的慢查詢時(shí)間只能精確到秒;如果是記錄到日志文件中,則日志文件中記錄的慢查詢時(shí)間能夠精確到微秒。建議在實(shí)際工作中,將慢查詢?nèi)罩居涗浀轿募小?/p>

配置完成后,重啟 MySQL 服務(wù)器配置才能生效。

除了在文件中配置開啟慢查詢?nèi)罩就?,也可以?MySQL 命令行中執(zhí)行如下命令開啟慢查詢?nèi)罩尽?/p>

mysql> SET GLOBAL slow_query_log = 1;
Query OK, 0 rows affected (0.00 sec)
mysql> SET GLOBAL slow_query_log_file = '/data/mysql/log/query_log/slow_statement.log';
Query OK, 0 rows affected (0.00 sec)
mysql> SET GLOBAL long_query_time = 10;
Query OK, 0 rows affected (0.00 sec)
mysql> SET GLOBAL log_output = 'FILE';
Query OK, 0 rows affected (0.00 sec)

成功開啟慢查詢?nèi)罩竞?,?huì)在 /data/mysql/log/query_log 目錄下生成 slow_statement.log 文件。

查看慢查詢?nèi)罩?/h3>

慢查詢?nèi)罩救绻渲玫氖禽敵龅轿募瑒t會(huì)保存到純文本文件中,直接查看純文本文件的內(nèi)容即可。

構(gòu)造一個(gè)查詢時(shí)間超過 10 秒的 SQL 語句。

SELECT BENCHMARK(99999999, MD5('mysql'));

這條語句用了大概耗時(shí): 19.102s

我們看看慢查詢?nèi)罩疚募挠涗浫缦拢?/p>

刪除慢查詢?nèi)罩?/h3>

慢查詢?nèi)罩竞筒樵內(nèi)罩疽粯右约兾谋疚募男问酱鎯?chǔ)在服務(wù)器磁盤中,可以直接刪除。如果需要重新生成慢查詢?nèi)罩?,可以?MySQL 命令行中運(yùn)行 FLUSH LOGS 命令,或者在服務(wù)器命令行中執(zhí)行mysqladmin flush-logs 命令。

(1)刪除慢查詢?nèi)罩尽?/p>

rm -rf /data/mysql/log/query_log/slow_statement.log

刪除后,查看/data/mysql/log/query_log目錄下的文件。

結(jié)果顯示,slow_statement.log 文件已經(jīng)被成功刪除。

(2)在 MySQL 命令行中刷新日志。

mysql> FLUSH LOGS;
Query OK, 0 rows affected (0.01 sec)

或者在服務(wù)器命令行中執(zhí)行如下命令刷新日志。

mysqladmin -uroot -p flush-logs
Enter password:

日志刷新成功后,再次查看/data/mysql/log/query_log目錄下的文件。

MySQL重新創(chuàng)建了 slow_statement.log 文件。

關(guān)閉慢查詢?nèi)罩?/h3>

關(guān)閉慢查詢?nèi)罩?,只需要在my.cnf文件或者my.ini文件中配置slow_query_log=0或者直接刪除此選項(xiàng)即可。

[mysqld]
slow_query_log = 0

也可以在MySQL命令行中執(zhí)行如下命令關(guān)閉慢查詢?nèi)罩尽?/p>

mysql> SET GLOBAL slow_query_log = 0;
Query OK, 0 rows affected (0.00 sec)

當(dāng)關(guān)閉慢查詢?nèi)罩竞?,刪除慢查詢?nèi)罩疚募?,再?zhí)行刷新日志的操作,MySQL將不再重新創(chuàng)建慢查詢?nèi)罩疚募?/p>

到此這篇關(guān)于深入了解MySQL中的慢查詢?nèi)罩镜奈恼戮徒榻B到這了,更多相關(guān)MySQL慢查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入理解MySQL事務(wù)特性與自動(dòng)提交

    深入理解MySQL事務(wù)特性與自動(dòng)提交

    事務(wù)以及事務(wù)隔離機(jī)制,其實(shí)是所有關(guān)系型數(shù)據(jù)庫都有的問題,本文主要介紹了深入理解MySQL事務(wù)特性與自動(dòng)提交,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用

    mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用

    本文主要介紹了mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • MySQL優(yōu)化之如何寫出高質(zhì)量sql語句

    MySQL優(yōu)化之如何寫出高質(zhì)量sql語句

    在數(shù)據(jù)庫日常維護(hù)中,最常做的事情就是SQL語句優(yōu)化,因?yàn)檫@個(gè)才是影響性能的最主要因素。這篇文章主要給大家介紹了關(guān)于MySQL優(yōu)化之如何寫出高質(zhì)量sql語句的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • 詳解mysql8.0創(chuàng)建用戶授予權(quán)限報(bào)錯(cuò)解決方法

    詳解mysql8.0創(chuàng)建用戶授予權(quán)限報(bào)錯(cuò)解決方法

    這篇文章主要介紹了詳解mysql8.0創(chuàng)建用戶授予權(quán)限報(bào)錯(cuò)解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • MySQL 如何設(shè)計(jì)統(tǒng)計(jì)數(shù)據(jù)表

    MySQL 如何設(shè)計(jì)統(tǒng)計(jì)數(shù)據(jù)表

    有些時(shí)候,改進(jìn)數(shù)據(jù)表查詢性能的最佳方式是在同一張數(shù)據(jù)表中冗余一些繼承的數(shù)據(jù)。然而,有些時(shí)候需要新建完全獨(dú)立的統(tǒng)計(jì)或緩存數(shù)據(jù)表,尤其是在需要反復(fù)查詢的需求情況下。如果業(yè)務(wù)允許一些時(shí)間上的誤差的話,那么這種方式會(huì)更好。
    2021-06-06
  • 一文了解MySQL事務(wù)隔離級(jí)別

    一文了解MySQL事務(wù)隔離級(jí)別

    這篇文章主要介紹了一文了解MySQL事務(wù)隔離級(jí)別,MySQL?事務(wù)隔離級(jí)別是為了解決并發(fā)事務(wù)互相干擾的問題的,文章介紹?4?種事物隔離,需要的小伙伴可以學(xué)習(xí)一下
    2022-07-07
  • MySQL 數(shù)據(jù)庫 binLog 日志的使用操作

    MySQL 數(shù)據(jù)庫 binLog 日志的使用操作

    binlog是MySQL數(shù)據(jù)庫中的一種日志類型,它記錄了數(shù)據(jù)庫中的所有更改操作,例如插入、更新、刪除操作,本文給大家介紹MySQL 數(shù)據(jù)庫 binLog 日志的使用,感興趣的朋友一起看看吧
    2023-08-08
  • Mysql 索引結(jié)構(gòu)直觀圖解介紹

    Mysql 索引結(jié)構(gòu)直觀圖解介紹

    Mysql-索引結(jié)構(gòu)直觀圖解。上一篇?jiǎng)倓偼ㄋ谆恼f明了B-TREE的幾個(gè)結(jié)果與存儲(chǔ)方式,其實(shí)跟索引感覺上還是沒有關(guān)聯(lián)起來, 那么本篇,就通過實(shí)際的一個(gè)數(shù)據(jù)行的例子,說明一下
    2016-12-12
  • mysql 行列轉(zhuǎn)換的示例代碼

    mysql 行列轉(zhuǎn)換的示例代碼

    這篇文章主要介紹了mysql 行列轉(zhuǎn)換的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • MySQL入門(二) 數(shù)據(jù)庫數(shù)據(jù)類型詳解

    MySQL入門(二) 數(shù)據(jù)庫數(shù)據(jù)類型詳解

    這個(gè)數(shù)據(jù)庫所遇到的數(shù)據(jù)類型今天統(tǒng)統(tǒng)在這里講清楚了,以后在看到什么數(shù)據(jù)類型,咱度應(yīng)該認(rèn)識(shí),對(duì)我來說,最不熟悉的應(yīng)該就是時(shí)間類型這塊了。但是通過今天的學(xué)習(xí),已經(jīng)解惑了。下面就跟著我的節(jié)奏去把這個(gè)拿下吧
    2018-07-07

最新評(píng)論