Join Operations
? SORT-MERGE JOIN
– Sorts tables on the join key and then merges them together
– Sorts are expensive
? NESTED LOOPS
– Retrieves a row from one table and finds the corresponding rows in the other table
– Usually best for small numbers of rows
? HASH JOIN
– Build hash table in memory for smaller row source
– Hash larger row source
– Probe in-memory hash table for matches
– Hash joins are only considered by the CBO
SORT-MERGE JOIN
根据关联列排序2个表,然后再进行merge操作
当然排序是很昂贵的
无驱动表概念
支持不等值连接
嵌套循环:
Oracle从较小结果集(驱动表/外部表)中读取一行,然后和较大结果集(被探查表/内部表)中的所有数据逐条进行比较(嵌套循环可以用于非等值连接),
如果符合规则,就放入结果集中,然后取较小结果集的下一条数据继续进行循环,直到结束。嵌套循环只适合输出少量结果集或者是用于快速输出结果集。
H
sort merge join,hash join,netsloop join
最新推荐文章于 2022-02-02 12:23:50 发布
本文详细介绍了数据库查询中的三种JOIN操作:sort-merge join(需要先排序,适用于大量数据的不等值连接),nested loops join(适合小规模数据的逐行匹配),以及hash join(通过建立哈希表快速查找匹配项,适用于等值连接)。通过具体的SQL执行计划和统计信息,展示了这三种JOIN在不同场景下的性能表现和优缺点。
摘要由CSDN通过智能技术生成