MySQL执行计划分析工具EXPLAIN用法详解_PHP教程
MySQL执行计划分析工具EXPLAIN用法详解
对于DBA来讲熟悉SQL的执行计划分析技巧对于快速定位数据库性能问题至关重要,下面简单介绍一下如何分析MySQL的执行计划。一、EXPLAIN用法详解:EXPLAIN SELECT ……
变体: 1. EXPLAIN EXTENDED SELECT ……将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得到被MySQL优化器优化后的查询语句
2. EXPLAIN PARTITIONS SELECT ……用于分区表的EXPLAIN
示例如下所示:
<img src="/static/imghw/default1.png" data-src="http://www.bkjia.com/uploads/allimg/160118/11413V201-0.png" class="lazy" style="max-width:90%" height="209.74106041924" alt="">
具体解释如下1.执行id
包含一组数字,id如果相同,可以认为是一组,从上往下顺序执行;在所有组中,id值越大,优先级越高,越先执行2.查询类型select_type
<img src="/static/imghw/default1.png" data-src="http://www.bkjia.com/uploads/allimg/160118/11413S2b-1.png" class="lazy" alt="" style="max-width:90%">
type显示的是访问类型,是较为重要的一个指标,结果值从好到坏依次是:system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL ,一般来说,得保证查询至少达到range级别,最好能达到ref。ALL: 扫描全表index: 扫描全部索引树range: 扫描部分索引,索引范围扫描,对索引的扫描开始于某一点,返回匹配值域的行,常见于between、等的查询ref: 非唯一性索引扫描,返回匹配某个单独值的所有行。常见于使用非唯一索引即唯一索引的非唯一前缀进行的查找eq_ref:唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配。常见于主键或唯一索引扫描const, system: 当MySQL对查询某部分进行优化,并转换为一个常量时,使用这些类型访问。如将主键置于where列表中,MySQL就能将该查询转换为一个常量。system是const类型的特例,当查询的表只有一行的情况下, 使用system。NULL: MySQL在优化过程中分解语句,执行时甚至不用访问表或索引。
3.possible_keys指出MySQL能使用哪个索引在表中找到行,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用4.key显示MySQL在查询中实际使用的索引,若没有使用索引,显示为NULLTIPS:查询中若使用了覆盖索引,则该索引仅出现在key列表中5.key_len表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度6.ref表示上述表的连接匹配条件,即哪些列或常量被用于查找索引列上的值7.rows表示MySQL根据表统计信息及索引选用情况,估算的找到所需的记录所需要读取的行数8.Extra包含不适合在其他列中显示但十分重要的额外信息二、关于MySQL执行计划的局限总结如下:1.EXPLAIN不会告诉你关于触发器、存储过程的信息或用户自定义函数对查询的影响情况2.EXPLAIN不考虑各种Cache3.EXPLAIN不能显示MySQL在执行查询时所作的优化工作4.部分统计信息是估算的,并非精确值5.EXPALIN只能解释SELECT操作,其他操作要重写为SELECT后查看执行计划

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

最近幾天,Ice Universe 不斷披露有關 Galaxy S25 Ultra 的詳細信息,人們普遍認為這款手機將是三星的下一款旗艦智慧型手機。除此之外,洩密者聲稱三星只計劃升級一台相機

OnLeaks 現在與 Android Headlines 合作,首次展示了 Galaxy S25 Ultra,幾天前,他試圖從他的 X(以前的 Twitter)粉絲那裡籌集到 4,000 美元以上的資金,但失敗了。對於上下文,嵌入在 h 下面的渲染圖像

除了發布兩款新智慧型手機外,TCL 還發布了一款名為 NXTPAPER 14 的新 Android 平板電腦,其大螢幕尺寸是其賣點之一。 NXTPAPER 14 採用 TCL 標誌性品牌霧面液晶面板 3.0 版本

Vivo Y300 Pro剛剛全面亮相,它是最薄的中階Android手機之一,配備大電池。準確來說,這款智慧型手機厚度僅為 7.69 毫米,但配備 6,500 mAh 電池。這與最近推出的容量相同

三星尚未就何時更新其 Fan Edition (FE) 智慧型手機系列提供任何提示。目前來看,Galaxy S23 FE 仍然是該公司的最新版本,於 2023 年 10 月年初推出。

摩托羅拉今年發布了無數設備,儘管其中只有兩款是可折疊的。就上下文而言,雖然世界上大多數地區都收到了 Razr 50 和 Razr 50 Ultra,但摩托羅拉在北美提供了 Razr 2024 和 Razr 2

最近幾天,Ice Universe 不斷披露有關 Galaxy S25 Ultra 的詳細信息,人們普遍認為這款手機將是三星的下一款旗艦智慧型手機。除此之外,洩密者聲稱三星只計劃升級一台相機

OnePlus的姊妹品牌iQOO的2023-4年產品週期可能即將結束;儘管如此,該品牌已宣布 Z9 系列的開發尚未結束。它的最終版,也可能是最高端的 Turbo+ 變體剛剛按照預測發布。時間
