oracle hash join成本计算公式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oracle hash join成本计算公式
Oracle Hash Join的成本计算公式如下:
1.如果分区过后,最小的分区也比内存大,则发生nested-loop hash join,成本包括:
•读S(最小分区)的时间
•构建hash table在内存中的CPU时间
•读B的时间
•在内存中执行In memory Join的CPU时间。

2如果hash area足够大能放下S表分区后的所有的build
input,则上述成本近似等于:
•读S的时间
•构建hash table在内存中的CPU时间
•读B的时间
•在内存中执行In memory Join的CPU时间。

3如果hash area(后面用M表示)不够大,不能容纳build input,S,它将会写出到磁盘。

当然了,表B也会写出到磁盘。

总成本无限接近于:
•cost(HJ循环1)+cost(HJ循环2)
•其中cost(HJ循环1)无限接近于 read(S)+read(B)+write((S-M)+(B-B*M/S))。

请注意,以上公式是基于特定的假设和简化,实际情况可能因具体环境和数据特征而有所不同。

因此,在实际应用中,建议使用Oracle 数据库的实际性能工具和系统进行评估和优化。

相关文档
最新文档