mysql慢查詢,處理sql語句執行速度慢問題

2021-09-11 21:59:38 字數 1148 閱讀 6455

# 臨時開啟慢日誌(如重啟資料庫,還會改為預設值off,如需永久改需要修改配置檔案)

show variables like '%slow_query_log%' ;(如果查詢出的值為off則需要開啟慢日誌)

set global slow_query_log=on;(開啟慢日誌)

# 設定1秒以上為慢查詢(如重啟資料庫,還會改為預設值off,如需永久改需要修改配置檔案)

show variables like '%long_query_time%' ;(預設值為10,需要將該值改低一些,使得慢sql可以被檢測出來)

set global long_query_time=1;

# 檢視相關設定是否已經生效

show variables like '%slow_query_log%' ;

# 如果使用圖形化工具連線mysql,修改屬性值沒有生效,則重啟該工具再查詢慢查詢時間

show variables like '%long_query_time%' ;

# 慢查詢次數

show status like '%slow_queries%';

# 呼叫介面等方法執行慢sql

# 慢查詢次數會增加

show status like '%slow_queries%';

# 檢視日誌檔案檔案位置,檢視詳細資訊

show variables like '%slow_query_log_file%' ;

# 根據日誌檔案位置,找到日誌檔案並開啟

#根據日誌裡查詢出的sql,在sql前面加上explain並執行

#例 explain select * from table

當type為index/all 則代表有全表掃瞄,需要注意是否可以不全表掃瞄

key表示用了哪個字段作為索引

當extra 為using index則代表走了索引,當extra為using filesort或using temporary時,則需要進行優化

# 分析sql語句,注意表關聯的字段是否是索引,如果不是索引,並且表資料量大,則sql執行慢

# 需要加索引的加索引,需要更改表關聯欄位的改關聯字段

sql語句查詢慢原因

1 沒有索引或者沒有用到索引 這是查詢慢最常見的問題,是程式設計的缺陷 2 i o吞吐量小,形成了瓶頸效應。3 沒有建立計算列導致查詢不優化。4 記憶體不足 5 網路速度慢 6 查詢出的資料量過大 可以採用多次查詢,其他的方法降低資料量 7 鎖或者死鎖 這也是查詢慢最常見的問題,是程式設計的缺陷 8...

查詢MySQL中查詢慢的SQL語句的方法

1 通過查詢日誌 1 windows下開啟mysql慢查詢 mysql在windows系統中的配置檔案一般是是my.ini找到 mysqld 下面加上 如下 log slow queries f mysql log mysqlslowquery。log long query time 2 2 lin...

如何查詢MySQL中查詢慢的SQL語句並優化

在mysql中,支援慢日誌記錄功能,通過指定統計執行時間閾值與日誌存放位置來實現 mysql預設統計時間為10s,而且預設統計是關閉的,那麼如何開啟統計呢?這裡分為兩種情況 第一種情況是在mysql ini配置檔案中新增鍵和值,通常適用於從資料庫啟動即開啟統計日誌 第二種情況是在不適合關閉伺服器而臨...