关于oracle 左连接优化

qsc1818518 2017-07-27 03:20:18
select *


from mid_requirement t1,mid_purchase_project t2,mid_PURCHASE_RESULT t3,
CONTRACT_HOST t5,Contract_Extension t6,mid_order t7,CONTRACT_INF t4
WHERE t1.id = t2.record_id(+)
AND t2.id = t3.purchase_project_id(+)
AND t3.id = t4.decision_result_id(+)
AND t4.id=t5.contract_id(+)
AND t4.id=t6.contract_id(+)
AND t4.CONTRACT_CODE=t7.contract_num(+)
;

执行计划如下:
Plan hash value: 900416685

-----------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
-----------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 162K| 244M| | 119K (1)| 00:23:51 |
|* 1 | HASH JOIN RIGHT OUTER | | 162K| 244M| 155M| 119K (1)| 00:23:51 |
| 2 | TABLE ACCESS FULL | MID_ORDER | 405K| 150M| | 6227 (1)| 00:01:15 |
|* 3 | HASH JOIN RIGHT OUTER | | 162K| 183M| 35M| 96067 (1)| 00:19:13 |
| 4 | TABLE ACCESS FULL | CONTRACT_EXTENSION | 1006K| 24M| | 30797 (1)| 00:06:10 |
|* 5 | HASH JOIN RIGHT OUTER | | 162K| 180M| 24M| 54485 (1)| 00:10:54 |
| 6 | TABLE ACCESS FULL | CONTRACT_HOST | 1006K| 12M| | 5032 (1)| 00:01:01 |
|* 7 | HASH JOIN OUTER | | 162K| 178M| 150M| 39338 (1)| 00:07:53 |
|* 8 | HASH JOIN RIGHT OUTER | | 162K| 148M| 1872K| 12663 (1)| 00:02:32 |
| 9 | TABLE ACCESS FULL | MID_PURCHASE_RESULT | 9665 | 1755K| | 75 (0)| 00:00:01 |
|* 10 | HASH JOIN RIGHT OUTER| | 162K| 119M| 4176K| 6491 (1)| 00:01:18 |
|* 11 | TABLE ACCESS FULL | MID_PURCHASE_PROJECT | 11823 | 4029K| | 252 (0)| 00:00:04 |
| 12 | TABLE ACCESS FULL | MID_REQUIREMENT | 162K| 65M| | 2713 (1)| 00:00:33 |
| 13 | TABLE ACCESS FULL | CONTRACT_INF | 1007K| 185M| | 9468 (1)| 00:01:54 |
-----------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

1 - access("T4"."CONTRACT_CODE"="T7"."CONTRACT_NUM"(+))
3 - access("T4"."ID"="T6"."CONTRACT_ID"(+))
5 - access("T4"."ID"="T5"."CONTRACT_ID"(+))
7 - access("T3"."ID"="T4"."DECISION_RESULT_ID"(+))
8 - access("T2"."ID"="T3"."PURCHASE_PROJECT_ID"(+))
10 - access("T1"."ID"="T2"."RECORD_ID"(+))
11 - filter("T2"."RECORD_ID"(+) IS NOT NULL)
...全文
324 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧