最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入了解MySQL中的慢查詢日志

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

慢查詢日志

慢查詢日志主要用來記錄執(zhí)行時間超過設置的某個時長的SQL語句,能夠幫助數據庫維護人員找出執(zhí)行時間比較長、執(zhí)行效率比較低的SQL語句,并對這些SQL語句進行針對性優(yōu)化。

開啟慢查詢

可以在 my.cnf 文件或者 my.ini 文件中配置開啟慢查詢日志。

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

各配置項說明如下:

slow_query_log:指定是否開啟慢查詢日志。指定的值為1或者不指定值都會開啟慢查詢日志;指定的值為 0 或者 不配置此選項就不會開啟慢查詢日志。

slow_query_log_file:慢查詢日志的文件位置。

long_query_time:指定SQL語句執(zhí)行時間超過多少秒時記錄慢查詢日志。

log_output:與查詢日志的log_output選項相同,此處不再贅述。

注意:log_output 能夠配置將日志記錄到數據表中還是記錄到文件中,當記錄到數據表中時,則數據表中記錄的慢查詢時間只能精確到秒;如果是記錄到日志文件中,則日志文件中記錄的慢查詢時間能夠精確到微秒。建議在實際工作中,將慢查詢日志記錄到文件中。

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

除了在文件中配置開啟慢查詢日志外,也可以在 MySQL 命令行中執(zhí)行如下命令開啟慢查詢日志。

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)

成功開啟慢查詢日志后,會在 /data/mysql/log/query_log 目錄下生成 slow_statement.log 文件。

查看慢查詢日志

慢查詢日志如果配置的是輸出到文件,則會保存到純文本文件中,直接查看純文本文件的內容即可。

構造一個查詢時間超過 10 秒的 SQL 語句。

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

這條語句用了大概耗時: 19.102s

我們看看慢查詢日志文件的記錄如下:

刪除慢查詢日志

慢查詢日志和查詢日志一樣以純文本文件的形式存儲在服務器磁盤中,可以直接刪除。如果需要重新生成慢查詢日志,可以在 MySQL 命令行中運行 FLUSH LOGS 命令,或者在服務器命令行中執(zhí)行mysqladmin flush-logs 命令。

(1)刪除慢查詢日志。

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

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

結果顯示,slow_statement.log 文件已經被成功刪除。

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

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

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

mysqladmin -uroot -p flush-logs
Enter password:

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

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

關閉慢查詢日志

關閉慢查詢日志,只需要在my.cnf文件或者my.ini文件中配置slow_query_log=0或者直接刪除此選項即可。

[mysqld]
slow_query_log = 0

也可以在MySQL命令行中執(zhí)行如下命令關閉慢查詢日志。

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

當關閉慢查詢日志后,刪除慢查詢日志文件,再執(zhí)行刷新日志的操作,MySQL將不再重新創(chuàng)建慢查詢日志文件。

到此這篇關于深入了解MySQL中的慢查詢日志的文章就介紹到這了,更多相關MySQL慢查詢內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MYSQL數據插入之返回自增主鍵ID的方法詳解

    MYSQL數據插入之返回自增主鍵ID的方法詳解

    這篇文章主要介紹了MYSQL數據插入之返回自增主鍵ID的方法詳解,mysql中的insert插入之后會有返回值,返回的是影響的行數,也就是說,成功插入一條數據之后返回的是1,失敗則返回0,那么,很多時候我們都想要得到最后插入的id值,需要的朋友可以參考下
    2023-10-10
  • mysql實現將data文件直接導入數據庫文件

    mysql實現將data文件直接導入數據庫文件

    這篇文章主要介紹了mysql實現將data文件直接導入數據庫文件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 詳解mysql 中的鎖結構

    詳解mysql 中的鎖結構

    這篇文章主要介紹了mysql 中的鎖結構的相關資料,幫助大家更好的理解和使用數據庫,感興趣的朋友可以了解下
    2020-10-10
  • 一文帶你學透SQL語言的核心之DML操作

    一文帶你學透SQL語言的核心之DML操作

    DML(Data?Manipulation?Language)是SQL語言的核心部分,其主要用于對數據庫的數據進行增刪改查,在學習數據時,學習DML操作是必不可少的一部分,本文就帶大家詳細了解SQL語言的核心DML操作,需要的朋友可以參考下
    2023-06-06
  • 為什么MySQL選擇Repeatable Read作為默認隔離級別

    為什么MySQL選擇Repeatable Read作為默認隔離級別

    關于MySQL的事務隔離級別,相信很多讀者都不陌生,那么,你知道為什么Oracle選擇RC作為默認級別,而MySQL要選擇RR作為默認的隔離級別嗎
    2021-07-07
  • MySQL超詳細實現用戶管理實例

    MySQL超詳細實現用戶管理實例

    MySQL 是一個多用戶數據庫,具有功能強大的訪問控制系統(tǒng),可以為不同用戶指定不同權限。在前面的章節(jié)中我們使用的是 root 用戶,該用戶是超級管理員,擁有所有權限,包括創(chuàng)建用戶、刪除用戶和修改用戶密碼等管理權限
    2022-06-06
  • MySQL如何查找樹形結構中某個節(jié)點及其子節(jié)點

    MySQL如何查找樹形結構中某個節(jié)點及其子節(jié)點

    這篇文章主要介紹了MySQL如何查找樹形結構中某個節(jié)點及其子節(jié)點問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • sql語句示例之case?when作為where條件

    sql語句示例之case?when作為where條件

    這篇文章主要給大家介紹了關于sql語句示例之case?when作為where條件的相關資料,在SQL語句中CASE WHEN子句是根據條件表達式的結果來執(zhí)行不同的邏輯操作,它使用在WHERE子句中,以根據特定的條件在查詢結果中過濾數據,需要的朋友可以參考下
    2023-08-08
  • MySql delimiter的作用是什么

    MySql delimiter的作用是什么

    其實就是告訴mysql解釋器,該段命令是否已經結束了,mysql是否可以執(zhí)行了。默認情況下,delimiter是分號;。在命令行客戶端中,如果有一行命令以分號結束,那么回車后,mysql將會執(zhí)行該命令。
    2010-09-09
  • MySQL 數據查重、去重的實現語句

    MySQL 數據查重、去重的實現語句

    這篇文章主要介紹了MySQL 數據查重、去重的實現語句,幫助大家更好的理解和學習MySQL數據庫,感興趣的朋友可以了解下
    2020-09-09

最新評論

兴城市| 甘德县| 赣州市| 永安市| 奉化市| 南部县| 鄂尔多斯市| 宜章县| 福鼎市| 延长县| 纳雍县| 南投市| 万年县| 越西县| 滦平县| 河南省| 祁连县| 湖北省| 嵩明县| 德化县| 纳雍县| 漠河县| 南漳县| 福贡县| 镇宁| 西峡县| 青龙| 庐江县| 南城县| 仁寿县| 韩城市| 榆社县| 吉安县| 邹城市| 平度市| 池州市| 平舆县| 济阳县| 通辽市| 高尔夫| 海原县|