MySQL 效能優化之慢查詢

2022-03-25 03:28:04 字數 1936 閱讀 8838

首先需要使用慢查詢功能,去獲取所有查詢時間比較長的sql語句

最後可以使用show profile[s] 檢視由問題的sql的效能使用情況

優化sql語句

資料庫查詢快慢是影響專案效能的一大因素,對於資料庫,我們除了要優化sql,更重要的是得先找到需要優化的sql語句

mysql資料庫有乙個「慢查詢日誌」功能,用來記錄查詢時間超過某個設定值的sql,這將極大程度幫助我們快速定位到問題所在,以便對症下藥

至於查詢時間的多少才算慢,每個專案、業務都有不同的要求。

比如傳統企業的軟體允許查詢時間高於某個值,但是把這個標準方在網際網路專案或者訪問量大的**上,估計就是乙個bug,甚至可能公升級為乙個功能缺陷。

mysql的慢查詢日誌功能,預設是關閉的,需要手動開啟

引數說明:

在mysql執行sql語句設定,但是如果重啟mysql的話會失效。

set global slow_query_log=on;

set global long_query_time=

1;

修改:/etc/my.cnf,新增以下內容,然後重啟mysql服務

為了演示方便,我們讓sql睡眠3秒!

格式說明:

第四行,設定時間戳,沒有實際意義,只是和第一行對應執行時間。

第五行,執行的sql語句記錄資訊

引數說明:

開啟profiling功能

MySQL優化篇之慢查詢

1.什麼是mysql的慢查詢?mysql中最影響速度的就是那些 查詢非常慢的語句,這些慢的語句,可能是寫的不夠合理或者是大資料下多表的聯合 查詢等等,所以我們要找出這些語句,分析原因,加以優化。2.檢視和配置mysql慢查詢相關資訊 第一,慢查詢,這個慢,時間上是怎麼定義的?多久才算慢呢?mysql...

MySQL學習之慢查詢優化

0.先執行看看是否真的很慢,注意設定sql no cache 1.where條件單錶查,鎖定最小返回記錄表。這句話的意思是把查詢語句的where都應用到表中返回的記錄數最小的表開始查起,單錶每個字段分別查詢,看哪個欄位的區分度最高 2.explain檢視執行計畫,是否與1預期一致 從鎖定記錄較少的表...

優化之慢查詢

查詢超過指定的時間的語句叫慢查詢 檢視慢查詢的指定的時間 show variables like long show status like connections 查詢當前mysql資料庫是否開啟慢查詢日誌功能 show varlables like slow 1.配置慢查詢日誌存放路徑 在磁碟隨...