MySQL explain 分析查詢

來源:互聯網
上載者:User

MySQL explain 分析查詢

簡述:

使用 EXPLAIN 或DESC關鍵字可以類比最佳化器執行SQL查詢語句,從而知道MySQL是如何處理你的SQL語句的。這可以幫你分析你的 查詢語句 或是 表結構的效能 瓶頸。

通過explain命令可以得到:

1、表的讀取順序

2、表的讀取操作的操作類型

3、哪些索引可以使用

4、哪些索引被實際使用

5、表之間的引用

6、每張表有多少行被最佳化器查詢

為什麼要使用explain :

explain可以協助我們分析 select 語句,讓我們知道查詢效率低下的原因,從而改進我們查詢,讓查詢最佳化工具能夠更好的工作。

MySQL查詢最佳化工具是如何工作的 :

MySQL查詢最佳化工具有幾個目標,但是其中最主要的目標是儘可能地使用索引,並且使用最嚴格的索引來消除儘可能多的資料行。

最終目標是提交SELECT語句尋找資料行,而不是排除資料行。

最佳化器試圖排除資料行的原因在於它排除資料行的速度越快,那麼找到與條件匹配的資料行也就越快。

如果能夠首先進行最嚴格的測試,查詢就可以執行地更快。

explain局限 :

1、explain不會告訴你關於觸發器,預存程序的資訊或者使用者自訂的函數對查詢的影響情況。

2、explain不會考慮cache。

# The ideal of life is for ideal life! #

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.