1. 程式人生 > >Navicat使用教程(三):使用MySQL日誌(第3部分)——慢速日誌

Navicat使用教程(三):使用MySQL日誌(第3部分)——慢速日誌

下載Navicat for MySQL最新版本

Navicat for MySQL 是一套管理和開發 MySQL 或 MariaDB 的理想解決方案。使用Navicat for MySQL可以同時連線到 MySQL 和 MariaDB。Navicat for MySQL提供了強大的前端功能,為資料庫管理、開發和維護提供了直觀的圖形介面。對新手和專業人士來說,Navicat for MySQL都是管理和開發 MySQL 或 MariaDB的強大工具。

這篇文章將討論Navicat Monitor for MySQL / MariaDB中的監控,將參考前兩篇。第一篇概述了MySQL上的不同日誌型別,突出了其中最重要的一些,並涵蓋了列表中的前兩個。第二篇更詳細地介紹了二進位制日誌。慢速日誌將成為這篇文章的主題。

慢查詢日誌包含執行時間超過一定時間的SQL語句,並且需要查詢檢查給定數量的行。這是一個重要的問題,因為它極大地簡化了查詢低效或耗時查詢的任務,這些查詢會對資料庫和整體伺服器效能產生負面影響。

慢查詢日誌引數

您可能想知道究竟是什麼構成了“slow”和/或“inefficient”的查詢。顯然,沒有通用的一刀切的答案,但是MySQL的製造商—Oracle—將其置於10秒,這恰好是long_query_time閾值變數的最大值。最小值為0會導致記錄所有查詢。如果需要非常具體,也可以將該值指定為微秒的解析度。

預設情況下,不會記錄管理語句以及不使用索引進行查詢的查詢。話雖如此,可以使用log_slow_admin_statements和log_queries_not_using_indexes變數更改此行為。

如果沒有為慢查詢日誌檔案指定名稱,則將其命名為host_name-slow.log。伺服器在資料目錄中建立檔案,除非給出絕對路徑名來指定不同的目錄。您可以使用slow_query_log_file指定日誌檔案的名稱。

慢查詢日誌格式

以下是典型的慢查詢條目:

1 2 3 4 5 6 [email protected]
# tail /var/log/slowqueries
Time : 130320 7:30:26 User @Host: db_user[db_database] @ localhost [] # Query_time: 4.545309 Lock_time: 0.000069 Rows_sent: 219 Rows_examined: 254 SET timestamp =1363779026; SELECT option_name, option_value  FROM wp_options  WHERE autoload =  'yes' ;

如果使用--log-short-format選項,伺服器將向慢查詢日誌寫入較少的資訊。相反,啟用log_slow_extra系統變數(從MySQL 8.0.14開始提供)將導致伺服器將幾個額外欄位寫入日誌。

啟用慢速查詢記錄

慢查詢日誌已禁用,因此您必須通過將--slow_query_log變數設定為1(在Navicat中為ON)將其開啟。同樣,不提供引數也會開啟慢速查詢日誌。引數0(Navicat中為OFF)禁用日誌。

在Navicat中,您可以使用Server Monitor工具查詢系統變數。可以通過Tools主選單命令訪問它。

在Server Monitor中,單擊中間的“Variables”選項卡並向下滾動以檢視列表中的slow_query_log和slow_query_log_file伺服器變數:

Navicat

Navicat Server Monitor工具中的slow_query_log伺服器變數