【发布时间】:2019-08-20 09:47:23
【问题描述】:
我正在测试一些 Oracle 语句及其执行计划,但遇到了这个问题(内部加入 2 个表):
SELECT COUNT(*)
FROM WF_TRANSITION T,
WF_VERSION_REQUEST_TYPE VRT
WHERE T.FK_VS_REQUEST_TYPE_ID = VRT.VS_REQUEST_TYPE_ID + 0
这是它的执行计划:
我的问题是为什么我们有第 6 步 HASH JOIN,同时我们之前做了 NESTED LOOP。我认为这个嵌套循环加入了 2 个表 WF_TRANSITION 和 WF_VERSION_REQUEST_TYPE,不需要 HASH JOIN。
谁能给我解释一下?
【问题讨论】: