您当前的位置: 首页 >  小志的博客 sql

MySQL高级——Explain信息中select_type字段解释

小志的博客 发布时间:2021-02-06 22:36:42 ,浏览量:4

目录

    • 一、select_type类型有哪些
    • 二、SIMPLE 类型
    • 三、PRIMARY类型举例
    • 四、SUBQUERY类型举例
    • 五、DERIVED类型举例
    • 六、UNION类型举例
    • 七、UNION RESULT类型举例
    • 八、DEPENDENT SUBQUERY类型举例

一、select_type类型有哪些

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

二、SIMPLE 类型

  • 简单的 select 查询,查询中不包含子查询或者UNION

三、PRIMARY类型举例

  • 查询中若包含任何复杂的子部分,最外层查询则被标记为Primary

四、SUBQUERY类型举例

  • 在SELECT或WHERE列表中包含了子查询

五、DERIVED类型举例

  • 在FROM列表中包含的子查询被标记为DERIVED(衍生);MySQL会递归执行这些子查询, 把结果放在临时表里。

六、UNION类型举例

  • 若第二个SELECT出现在UNION之后,则被标记为UNION;若UNION包含在FROM子句的子查询中,外层SELECT将被标记为:DERIVED

七、UNION RESULT类型举例

  • 从UNION表获取结果的SELECT

八、DEPENDENT SUBQUERY类型举例

  • 在SELECT或WHERE列表中包含了子查询,子查询基于外层

  • dependent subquery 与 subquery 的区别
    依赖子查询 : 子查询结果为 多值
    子查询:查询结果为 单值

关注
打赏
查看更多评论

小志的博客

暂无认证

  • 4浏览

    0关注

    1100博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录