mysql 查看解释计划的两种方式 2025434编辑

Heaven helps those who help themselves
资深码农+深耕理财=财富自由
欢迎关注

mysql 查看解释计划的两种方式

Created by Marydon on 2022-02-13 20:19

1.情景展示

在进行SQL编写的过程中,我们为了提高SQL的执行效率,通常会使用解释计划,来看看当前SQL还有没有优化的空间。

查看explain的方式有两种。

2.expalin+SQL语句

语法:explain + format=json + SQL语句

EXPLAIN format = json SELECT
t.town_code,
count( 1 ) c
FROM
town_village_mapping t
GROUP BY
t.town_code;

将其当做SQL语句来执行即可;

将输出结果复制出来即可查看。

"using_temporary_table": true,表示:该SQL使用了内部临时表;

"access_type": "ALL",表示:该SQL使用了全表扫描。

3.Navicat解释计划

新建一个查询窗口--》将SQL语句粘贴进去--》点击“解释”即可。

type:all,表示全表扫描;

extra:using temporary,表示使用了内部临时表。

2022年4月28日10:40:48

4.select_type

select_type的类型有哪些?

select_type 类型 含义
SIMPLE 简单的 select 查询,查询中不包含子查询或者UNION
PRIMARY 查询中若包含任何复杂的子部分,最外层查询则被标记为Primary
SUBQUERY 在SELECT或WHERE列表中包含了子查询
DEPENDENT SUBQUERY 在SELECT或WHERE列表中包含了子查询,子查询基于外层
UNCACHEABLE SUBQUREY 无法被缓存的子查询
DERIVED 在FROM列表中包含的子查询被标记为DERIVED(衍生);MySQL会递归执行这些子查询, 把结果放在临时表里。
UNION 若第二个SELECT出现在UNION之后,则被标记为UNION;若UNION包含在FROM子句的子查询中,外层SELECT将被标记为:DERIVED。
UNION RESULT 从UNION表获取结果的SELECT

SQL语句实际执行先后顺序:

From → On → Join → Where  → Group by → Having → Select → Distinct → Union → Order by → Limit

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

与君共勉:最实用的自律是攒钱,最养眼的自律是健身,最健康的自律是早睡,最改变气质的自律是看书,最好的自律是经济独立 。

您的一个点赞,一句留言,一次打赏,就是博主创作的动力源泉!

↓↓↓↓↓↓写的不错,对你有帮助?赏博主一口饭吧↓↓↓↓↓↓

posted @   Marydon  阅读(434)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示
sorry,本博客所有代码禁止复制,原创代码需扫码支付方可获取!
关闭

1、先加好友再付费,点我加好友;

2、代码不能满足你的需求?加好友付费定制你的专属代码!

3、付费标准及方式,点我查看详情。