Navicat使用教程(三):使用MySQL日志(第3部分)——慢速日志
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指定日志文件的名稱。
慢查詢日志格式
以下是典型的慢查詢條目:
root@server# 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 Server Monitor工具中的slow_query_log服務器變量
購買Navicat for MySQL正版授權,請點擊“”喲!