sql優化分析

2021-07-05 16:00:39 字數 645 閱讀 6213

sql 語句前加explain 分析sql掃瞄行數

table #顯示該語句涉及的表

type #這列很重要,顯示了連線使用了哪種類別,有無使用索引,反映語句的質量。

possible_keys #列指出mysql能使用哪個索引在該表中找到行

key #顯示mysql實際使用的鍵(索引)。如果沒有選擇索引,鍵是null。

key_len #顯示mysql決定使用的鍵長度。如果鍵是null,則長度為null。使用的索引的長度。在不損失精確性的情況下,長度越短越好

ref #顯示使用哪個列或常數與key一起從表中選擇行。

rows #顯示mysql認為它執行查詢時必須檢查的行數。

extra #包含mysql解決查詢的詳細資訊。

其中:explain的type顯示的是訪問型別,是較為重要的乙個指標,結果值從好到壞依次是:

system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > all(優-->差) 一般來說,得保證查詢至少達到range級別,最好能達到ref,否則就可能會出現效能問題; 具體含義見下面的4.type mysql檢視執行計畫

JVM優化分析

看過了jvm的記憶體模型,自己總結一下jvm的優化過程。1.首先要分析情況,關注三大塊的情況 cpu 記憶體和io 磁碟 網路 jstack檢視執行緒cpu的使用情況,記憶體使用jmap來檢視記憶體使用情況,iostat來檢視磁碟讀寫情況 iotop也可以,但需要安裝 然後使用jinfo來列印下虛擬...

oracle 優化分析

記錄下來,做資料庫優化和索引分析的方案 案例 1 在分割槽表中,全域性索引可能會導致索引失效,這樣執行計畫中不走索引,改本地索引local 2 對錶進行分析,不用analyze,用了會對執行計畫產生影響,對錶和索引分析建議用dbms exec dbms stats.gather table stat...

Explain優化分析

當你寫入乙個select查詢語句,mysql底層會有查詢優化器來對你的拆線呢語句給出mysq自己的理解。人的理解與機器的理解存在偏差,從而造成查詢效能變慢這一重大影響。為了讓人能夠迎合機器的理解去更好的書寫sql查詢語句,我們需要對已存在的sql語句進行分析,看存在哪些問題才使得機器難以快速執行。而...