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