MySQL慢查詢日誌實操(圖文解析)
推薦學習:mysql影片教學
#一、概述
MySQL的慢查詢日誌是MySQL提供的一種日誌記錄,它用來記錄在MySQL中回應時間超過閥值(long_query_time,單位:秒)的SQL語句。預設情況下,MySQL不啟動慢查詢日誌。本文簡單介紹如何開啟慢查詢日誌,如何用mysqldumpslow分析慢查詢。
二、慢查詢日誌設定
1、暫時設定
暫時開啟慢速查詢日誌(重啟失效)
set global slow_query_log = on;
附註:如果想關閉慢速查詢日誌,只需要執行set global slow_query_log = off; 即可。
臨時慢查詢時間臨界點 查詢時間高於這個臨界點的都會被記錄到慢速查詢日誌中(重啟失效)
set long_query_time = 1;
set global log_output = file;
#說明: 可以看到,我這裡設定為了file,就是說我的慢查詢日誌是透過file體現的,預設是none,我們可以設定為table或file,如果是table則慢查詢資訊會儲存到mysql庫下的slow_log表中。
2、查詢慢查詢日誌的開啟狀態與慢查詢日誌儲存的位置show variables like '%quer%';
登入後複製
show variables like '%quer%';
參數說明:
- slow_query_log : 是否已經開啟慢查詢
- slow_query_log_file : 慢查詢日誌檔案路徑
- long_query_time : ##慢速查詢日誌檔案路徑 long_query_time :
log_queries_not_using_indexes 如果值設為ON,則會記錄所有沒有利用索引的查詢(效能最佳化時開啟此項,平常不要開啟)
3、查看存放日誌的形式
show variables like 'log_output';
4、永久開啟慢日誌
修改my.cnf
在設定檔my.cnf(一般為/etc/my.cnf)中的[mysqld] section增加如下參數。
[mysqld]slow_query_log= 1slow_query_log_file= /var/lib/mysql/slow-query.log # 若没有指定,默认名字为hostname_slow.loglong_query_time= 1log_queries_not_using_indexes= 1
其中,slow_query_log = 1,表示開啟慢查詢,0表示關閉
slow_query_log_file,指定慢查詢日誌路徑,需要MySQL對此路徑有寫入權限
long_query_time = 1,表示查詢時間>=1秒才記錄日誌,預設10s
log_queries_not_using_indexes = 1,表示記錄沒有使用索引的SQL 語句
#重啟MySQL服務,重啟MySQL後會看到/var/lib/mysql/slow-query.log檔。
三、慢查詢測試
製造慢查詢並執行。如下:mysql> select sleep(1);+----------+ | sleep(1) | +----------+ | 0 | +----------+ 1 row in set (1.00 sec)
慢查詢日誌
#開啟慢查詢日誌檔。可以看到上述慢查詢的SQL語句被記錄到日誌中。
四、慢查詢分析工具
mysqldumpslow
mysqldumpslow是MySQL自帶的分析慢查詢的工具。該工具是Perl腳本。
常用參數如下:- -s:
- 排序方式,值如下##c: 查詢次數
- t: 查詢時間
- l: 鎖定時間
- r: 傳回記錄
- ac: 平均查詢次數
- al: 平均鎖定時間
- ##ar:平均傳回記錄書
- at:平均查詢時間
- -t:topN查詢
- -g :正規表示式
取得最多訪問次數的5個SQL語句:
依照時間排的top 5個SQL語句
$ mysqldumpslow -s t -t 5 /var/lib/mysql/slow-query.log
依照時間排序且含有'like'的top 5個SQL語句
$ mysqldumpslow -s t -t 3 -g "like" /var/lib/mysql/slow-query.log
五、MySQL 清理slowlog方法
SET GLOBAL slow_query_log = 'OFF'; ALTER TABLEmysql.slow_log RENAME mysql.slow_log_drop; CREATE TABLE mysql.slow_log LIKEmysql.slow_log_drop; SET GLOBAL slow_query_log = 'ON'; DROP TABLE mysql.slow_log_drop;
推荐学习:mysql视频教程
以上是MySQL慢查詢日誌實操(圖文解析)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Laravel 是一款 PHP 框架,用於輕鬆構建 Web 應用程序。它提供一系列強大的功能,包括:安裝: 使用 Composer 全局安裝 Laravel CLI,並在項目目錄中創建應用程序。路由: 在 routes/web.php 中定義 URL 和處理函數之間的關係。視圖: 在 resources/views 中創建視圖以呈現應用程序的界面。數據庫集成: 提供與 MySQL 等數據庫的開箱即用集成,並使用遷移來創建和修改表。模型和控制器: 模型表示數據庫實體,控制器處理 HTTP 請求。

MySQL和phpMyAdmin是強大的數據庫管理工具。 1)MySQL用於創建數據庫和表、執行DML和SQL查詢。 2)phpMyAdmin提供直觀界面進行數據庫管理、表結構管理、數據操作和用戶權限管理。

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。MySQL以其高性能、可扩展性和跨平台支持著称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

文章摘要:本文提供了詳細分步說明,指導讀者如何輕鬆安裝 Laravel 框架。 Laravel 是一個功能強大的 PHP 框架,它 упростил 和加快了 web 應用程序的開發過程。本教程涵蓋了從系統要求到配置數據庫和設置路由等各個方面的安裝過程。通過遵循這些步驟,讀者可以快速高效地為他們的 Laravel 項目打下堅實的基礎。

在MySQL中,外鍵的作用是建立表與表之間的關係,確保數據的一致性和完整性。外鍵通過引用完整性檢查和級聯操作維護數據的有效性,使用時需注意性能優化和避免常見錯誤。

MySQL和MariaDB的主要區別在於性能、功能和許可證:1.MySQL由Oracle開發,MariaDB是其分支。 2.MariaDB在高負載環境中性能可能更好。 3.MariaDB提供了更多的存儲引擎和功能。 4.MySQL採用雙重許可證,MariaDB完全開源。選擇時應考慮現有基礎設施、性能需求、功能需求和許可證成本。

文章首段摘要:在選擇開發 Yi 框架應用程序的軟件時,需要考慮多個因素。雖然原生移動應用程序開發工具(如 XCode 和 Android Studio)可以提供強大的控制和靈活性,但跨平台框架(如 React Native 和 Flutter)憑藉其編寫一次,即可部署到多個平台的優點而越來越受歡迎。對於剛接觸移動開發的開發者,低代碼或無代碼平台(如 AppSheet 和 Glide)可以快速輕鬆地構建應用程序。另外,雲服務提供商(如 AWS Amplify 和 Firebase)提供了全面的工具

SQL是一種用於管理關係數據庫的標準語言,而MySQL是一個使用SQL的數據庫管理系統。 SQL定義了與數據庫交互的方式,包括CRUD操作,而MySQL實現了SQL標準並提供了額外的功能,如存儲過程和触發器。
