慢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 的執行計畫,讓他盡量 少走彎路 盡量通過各種 捷徑 來找到我們需...