mysql慢查詢排查處理

2021-09-24 12:32:50 字數 2427 閱讀 7375

事務阻塞,慢查詢

sql及索引優化。 

資料庫表結構,根據資料設計查詢最優的表結構。

系統配置優化,對開啟檔案數和安全的限制。 

硬體,選擇最適合資料庫的cpu,更快的io,更大的記憶體,cpu不是越多越好, io並不能減少鎖的機制,也就是不能減少阻塞,所以說硬體的優化成本越高,效果最差。

slow_query_log           

show_query_log_file:慢查日誌儲存位置

set global slow_query_log_file="d:/program files/mysql-5.6.44-winx64/loglocalhost-slow.log";

log_queries_not_use_indexes:是否把沒有使用索引的查詢記錄在檔案中

long_query_time:超過多少秒的查詢記錄下來

#開啟慢查詢日誌記錄

mysql> set global slow_query_log=on;

query ok, 0 rows affected (0.00 sec)

#查詢時間超過0.1秒的sql語句會被記錄

mysql> set global long_query_time=0.1;

query ok, 0 rows affected (0.03 sec)

#記錄慢查詢日誌的檔案位址

mysql> set global slow_query_log_file="/var/lib/mysql/localhost-slow.log";

query ok, 0 rows affected (0.04 sec)

#記錄沒有使用索引的查詢

1.mysqldumpslow(mysql官方自帶的,安裝的時候就帶有)

2.mysqldumpslow -t 3 /home/mysql/data/mysql-slow.log  | more(輸出排名前三的查詢慢的日誌)

3.-s (可以規定慢查詢日誌以什麼方式排序展示)

mysqldumpslow是perl命令,需要搭建對應的環境後才能執行

perl環境搭建:

mysqldumpslow -t 3 d:\program files\mysql-5.6.44-winx64\loglocalhost-slow.log | more

詳細使用:

詳細使用:

關注點

各列引數含義:

const:一般是主鍵,唯一索引之類的常數查詢;eq_reg範圍查詢

檢視資料庫表結構**:

mysql慢查詢排查

在mysql資料庫例項下執行以下語句可以排查mysql慢查詢語句 查詢慢查詢日誌 select from slow log show variables like slow 慢查詢定義閾值,單位是秒,精度可到毫秒 show variables like long show variables lik...

mysql慢查詢排查方法

昨天有一道筆試題是問mysql慢查詢的,總結一下。show status 查詢mysql資料庫的一些執行狀態 show status like uptime 檢視mysql資料庫啟動多長時間,myisam儲存引擎長時間啟動需要進行碎片整理檢視慢查詢 show status like slow que...

排查mysql響應慢 MySQL反應慢排查思路

資料庫異常假死排查需要資料 當時問題的時間,前後時間在2個小時的資料就行 1.mysql相關配置 整體可以借助於pt mysql summary生成 percona tools工具 2.作業系統方面 var log message 核心日誌 硬體基本資訊,可以借助於pt summary資訊 perc...