翻译如下:
#
此功能由
!
实现,为
中执行内部等价联接的一种方式。
例如:
"#$ %&!&'(!&(!)!*
可以在
中作为
执行。
不需要任何索引来执行,并且在大多数情况下比当前的块
嵌套循环算法更有效。
示例如下:
敲重点:
根据
官方文档介绍,
不需要任何索引来执行,并且在大多数情况下比当前的块嵌套循环
算法更有效。
是不是没太懂,接下来抛开具体版本,介绍下啥是
Hash Join
。
+
是一种数据库在进行多表连接时的处理算法,对于多表连接还有两种比较常
用的方式:
!,-+
和
!./
。
大家都知道,
oracle,postgresql
都已支持
hash-join
,
,01
之前版本是不支持的。
-+
本身的实现并不是很复杂,但需要优化器的实现配合才能最难的地方。
多表连接分为以下几种:内连接(
+
),外连接(
+
)和交叉连接。外连
接又分为:左外连接,右外连接和全外连接。对于不同的查询方式,使用相同的
+
算法也会有不同的代价产生,具体使用哪一种连接方式是由优化器通过代价的衡量来
决定。
评论