暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

GaussDB 实操——数据库性能调优实验3

Select_type 字段

Select_type 字段说明

Select_type字段 意义
SIMPLE 简单SELECT,不使用UNION或子查询等
PRIMARY 子查询中最外层查询,查询中若包含子查询,最外层的SELECT被标记为PRIMARY
UNION UNION中的第二个或后面的SELECT语句
DEPENDENT UNION UNION中的第二个或后面的SELECT语句
UNION RESULT UNION的结果
SUBQUERY 子查询中的第一个SELECT,结果不依赖于外部查询
DEPENDENT SUBQUERY 子查询中的第一个SELECT,依赖于外部查询
DERIVED 派生表的SELECT, FROM子句的子查询
UNCACHEABLE
SUBQUERY
一个子查询的结果不能被缓存,必须重新评估外链接的第一行
  • SIMPLE 类型。

简单 SELECT,不使用 UNION 或子查询等。

EXPLAIN SELECT subject.* FROM subject LIMIT 2;

gaussdb0295.png

  • PRIMARY 类型。
EXPLAIN SELECT score.* FROM student_score score WHERE subject_id = ( SELECT id FROM subject WHERE teacher_id = ( SELECT id FROM teacher WHERE id = 2 ) );

gaussdb0296.png

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

  • SUBQUERY 类型。
EXPLAIN SELECT score.* FROM student_score score WHERE subject_id = ( SELECT id FROM subject WHERE teacher_id = ( SELECT id FROM teacher WHERE id = 2 ) );

gaussdb0297.png

在 select 或 where 中包含子查询。

  • UNION 类型。
EXPLAIN SELECT subject.* FROM subject LEFT JOIN teacher ON subject.teacher_id = teacher.id UNION SELECT subject.* FROM subject RIGHT JOIN teacher ON subject.teacher_id = teacher.id;

gaussdb0298.png

若第二个 select 出现在 uion 之后,则被标记为 UNION。

  • UNION RESULT 类型。
EXPLAIN SELECT subject.* FROM subject LEFT JOIN teacher ON subject.teacher_id = teacher.id UNION SELECT subject.* FROM subject RIGHT JOIN teacher ON subject.teacher_id = teacher.id;

gaussdb0299.png

从 UNION 表获取结果的 select。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论