日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL第11天:MySQL索引优化分析之性能分析

發布時間:2025/6/15 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL第11天:MySQL索引优化分析之性能分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??????????????????? MySQL索引優化分析之性能分析

一、MySQL Query Optimizer
二、MySQL常見瓶頸
三、Explain(執行計劃)

???????? 1、什么是執行計劃?
???????? 2、執行計劃能干什么?
???????? 3、執行計劃怎么使用?
???????? 4、執行計劃中各字段解釋

--------------------------------------------------------------------------------------------

一、MySQL Query Optimizer

二、MySQL常見瓶頸?

?

三、Explain(執行計劃)

1、什么是執行計劃?

???????? 使用Explain關鍵字可以模擬優化器執行SQL查詢語句,從而知道MySQL如何處理你的SQL語句。分析你的查詢語句或是表結構的性能瓶頸。

2、執行計劃能干什么?

(1)表的讀取順序 (2)數據讀取操作的操作類型 (3)哪些索引可以使用 (4)哪些索引被實際使用 (5)表之間的引用 (6)每張表有多少行被優化器查詢PS:(1)select_type:數據讀取操作的操作類型(2)possible_keys:哪些索引可以使用(3)key:哪些索引被實際使用(4)rows:每張表有多少行被優化器查詢(rows越少越好)

?

3、執行計劃怎么使用?

????? 1)Explain+SQL語句
????? 2)執行計劃包含的信息

4、執行計劃中各字段解釋

字段1:id:

1)select查詢的序列號,包含一組數字,表示查詢中執行select子句或操作表的順序。
2)三種情況:
第一種情況id相同:執行順序由上而下;


第二種情況id不同:如果是子查詢,id的序號會遞增,id值越大優先級越高,越先被執行


第三種情況id相同和不同,同時存在?

?

字段2:select_type

字段3:table

顯示這一行的數據是關于哪張表的

字段4:type


?

?

字段5:possible_keys

理論上用到的索引。


字段6:key

實際用到的索引。


字段7:key_len

?


字段8:ref


字段9:rows


字段10:extra

extra:包含不適合在其他列中顯示但十分重要的額外信息。常見的有: (1)using filesort (2)using temporary (3)using index (4)using where (5)using join buffer (6)impossible where (7)select tables optimized away (8)distinct

?

PS:Using temporary:使用了臨時表保存中間結果,MySQL在對查詢結果排序時使用臨時表,常見于排序order by和分組查詢group by。

1、Using? filesort

2、Using temporary

?

?PS:group by盡量根據索引的個數和順序來,否則會產生文件列排序和臨時表(using filesort、using temorary),影響查詢性能。

3、Using? index

4、using join buffer

使用了鏈接緩存

5、impossible where

where子句的值總是false,不能用來獲取任何元組

6、impossible where

7、select tables optimized away

8、distinct

?

?

總結

以上是生活随笔為你收集整理的MySQL第11天:MySQL索引优化分析之性能分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。