對于互聯(lián)網(wǎng)公司來說,隨著用戶量和數(shù)據(jù)量的不斷增加,慢查詢是無法避免的問題。一般情況下如果出現(xiàn)慢查詢,意味著接口響應(yīng)慢、接口超時等問題。如果是高并發(fā)的場景,可能會出現(xiàn)數(shù)據(jù)庫連接被占滿的情況,直接導(dǎo)致服務(wù)不可用。慢查詢的確會導(dǎo)致很多問題,我們要如何優(yōu)化慢查詢呢?
一.語法explain < table_name >例如: explain select * from t3 where id=3952602;二.explain輸出解釋+----+---
1.查版本號無論做什么都要確認版本號,不同的版本號下會有各種差異。>Select ?version();2.執(zhí)行狀態(tài)分析顯示哪些線程正在運行>show processlist;下面是完整的
explain詳細說明通過explain可以知道MySQL是如何處理語句,分析出查詢或是表結(jié)構(gòu)的性能瓶頸。通過expalin可以得到:1. 表的讀取順序2.表的讀取操作的操作類型3.哪些索引可以使用4