Mysql資料庫的慢sql優化步驟

2022-03-14 15:42:41 字數 1822 閱讀 5604

慢sql優化步驟:

先檢視慢日誌,獲得具體哪條sql語句是慢sql。

再使用explain sql語句,進行對慢sql分析。

修改sql語句,或者增加索引。

在資料庫視覺化工具中,顯示有關慢日誌的資訊:

show variables like '%quer%';
image.png

主要是檢視這三個欄位的資訊:

long_query_time:sql執行多久才算慢sql,預設是10s;

slow_query_log:慢日誌是否開啟,預設是off;

slow_query_log_file:慢日誌存放的位置

想要永久的修改屬性,那麼就要去資料庫的安裝目錄去修改my.ini檔案,linux系統的話,那就就是my.cnf檔案。

若只是想在單次連線中(下次重啟mysql服務就失效)修改屬性,那麼可以直接使用set global 屬性名=修改屬性值;注意:在執行了該條語句之後,需要用終端重新連線mysql資料庫。

將long_query_time設定回1s;

執行一條sql;查詢單個字段,不走索引;(表中的資料有40萬條左右)

1596534119269-image.png

再開啟慢日誌檢視最新一條慢sql:

可以看見query_time是1.8s,所以就是剛剛執行的那條sql就是慢sql了。

接著使用explain分析慢sql;

主要分析type和extra欄位屬性;如果type為index或者all那麼走的就是全表查詢,很大可能性是慢sql;

還有乙個extra欄位,如果是using filesort:檔案排序(沒有利用索引排序的操作),或是using temporary:在對查詢結果排序時使用了臨時表,常見的order by和分組group by;

優化慢sql:讓sql走索引;修改sql語句。

修改上條sql語句,將motto欄位設定成索引字段:

查詢時間小於1s;不計入慢日誌;

SQL資料庫慢

之前在做mes的時候,出現過資料庫伺服器cpu衝100 好痛苦了一段時間,搞的現場作業回報速度慢,搞得現場老大總是搔嘮我。不過經過我的軟,硬的優化,現在穩定多了。輕鬆多了。回憶那段往事真是苦不堪言。只想對著太陽喊 日 好了,不多說了,現在就把有可能影響sql資料庫執行速度的進行彙總,給相關人員指個方...

mysql資料庫sql優化

sql優化 本文件描述了mysql資料庫的sql優化,從整體上描述mysql資料庫的sql執行過程,及整個流程上相關優化點,重點描述innodb儲存引擎的索引優化及鎖機制,旨在為讀者提供在mysql上做sql優化的思路,達到授人以漁的效果,希望能為讀者帶來收穫。效能 完成某項任務所需要的時間度量,即...

MySQL資料庫SQL優化(原則)

通過web應用關係圖譜可以看出web應用的響應速度取決於多個方面 優化方法 1 改變 sql 執行計畫 明確了優化目標之後,我們需要確定達到我們目標的方法。對於 sql 語句來說,達到上述2個目標的方法其實只有乙個,那就是改變 sql 的執行計畫,讓他盡量 少走彎路 盡量通過各種 捷徑 來找到我們需...