MySql效能優化(一) 慢SQL問題排查篇

2021-10-24 19:07:14 字數 994 閱讀 3819

源自:

作為後端開發的一員,我們先**一下資料響應慢的問題。就是使用者從發起網路請求到前端接收到後端響應這個過程耗時比較長的問題。既然說到資料互動,必然離不開資料庫了。

關係型資料庫有可能是整個後端資料處理最耗時的乙個環節了。那麼我們如何去判斷是不是由於資料庫的問題導致後端響應慢呢?又該如何去定位哪些sql語句比較耗時呢?下面我們一起來看一下。

統計sql操作耗時

public void test()
mysql慢查詢就是在日誌中記錄執行比較慢的sql語句,這個功能是需要開啟才能使用的。

開啟方法

優點:全域性生效

缺點:需要重啟mysql

優點:立即生效

缺點:只對當前資料庫生效,重啟mysql後失效

配置/etc/my.cnf
#my.cnf檔案

#是否開啟慢查詢日誌,1表示開啟,0表示關閉。

slow-query-log = 1

#mysql資料庫慢查詢日誌儲存路徑

slow-query-log-file = /var/log/mysql/mysql-slow.log

#慢查詢閾值,當查詢時間多於設定的閾值時,記錄日誌。單位:秒

long_query_time = 10

通過命令配置
show variables like 『%slow_query_log%』;

這樣配置之後,如果有執行時間超過我們設定的閾值的sql語句就會記錄到我們設定的日誌當中,我們就可以有針對性的去對某些sql進行優化了。

MySQL優化 3 慢SQL分析

對慢sql優化一般可以按下面幾步的思路 1 開啟慢查詢日誌,設定超過幾秒為慢sql,抓取慢sql 2 通過explain對慢sql分析 重點 3 show profile查詢sql在mysql伺服器裡的執行細節和生命週期情況 重點 4 對資料庫伺服器的引數調優 1 設定慢查詢 1 設定開啟 set ...

SQL效能優化(一)

1.選擇最有效率的表名順序 只在基於規則的優化器中有效 oracle的解析器按照從右到左的順序處理from子句中的表名,因此from子句中寫在最後的表 基礎表 driving table 將被最先處理.在from子句中包含多個表的情況下,你必須選擇記錄條數最少的表作為基礎表.當oracle處理多個表...

10 效能優化 監控 MySQL慢查詢

1.記錄慢查詢配置 show variables where variable name like slow 檢視預設日誌路徑 查詢結果 不用的機器可能不同 slow query log file var lib mysql centos slow.log 修改mysqld配置檔案 usr my.c...