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

Oracle 19C 优化器如何执行联接语句

原创 Asher.HU 2021-02-04
426

数据库连接成对的行源。FROM子句中存在多个表时,优化器必须确定哪个连接操作对每对最有效。

优化器必须做出下表所示的相互关联的决策。

表9-1联接操作

运作方式说明了解更多

存取路径

对于简单语句,优化器必须选择访问路径以从join语句中的每个表中检索数据。例如,优化器可以在全表扫描或索引扫描之间进行选择。

 优化器访问路径 

联接方法

要加入每对行源,Oracle数据库必须决定如何做。“如何”是联接方法。可能的连接方法是嵌套循环,排序合并和哈希连接。笛卡尔联接需要上述联接方法之一。每种连接方法都有特定的情况,在这种情况下,它比其他方法更适合。

 加入方法 

联接类型

联接条件确定联接类型。例如,内部联接仅检索与联接条件匹配的行。外部联接检索与联接条件不匹配的行。

 连接类型 

不如顺序

要执行连接两个以上表的语句,Oracle数据库将连接两个表,然后将结果行源连接到下一个表。这个过程一直持续到所有表都加入结果为止。例如,数据库联接两个表,然后将结果联接到第三个表,然后将结果联接到第四个表,依此类推。

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

评论