SELECT *
FROM (SELECT pubformdat0_.id id332_,
pubformdat0_.domain_id domain2_332_,
pubformdat0_.process_id process3_332_,
pubformdat0_.entity_id entity4_332_,
pubformdat0_.file_type file5_332_,
pubformdat0_.title title332_,
pubformdat0_.word_no word7_332_,
pubformdat0_.priority priority332_,
pubformdat0_.secret_level secret9_332_,
pubformdat0_.drafter drafter332_,
pubformdat0_.drafter_name drafter11_332_,
pubformdat0_.draft_dept draft12_332_,
pubformdat0_.draft_deptname draft13_332_,
pubformdat0_.draft_date draft14_332_,
pubformdat0_.end_date end15_332_,
pubformdat0_.arch_state arch16_332_,
pubformdat0_.arch_fileid arch17_332_,
pubformdat0_.gq_templateid gq18_332_,
pubformdat0_.gw_templateid gw19_332_,
pubformdat0_.edit_flag edit20_332_,
pubformdat0_.delete_flag delete21_332_,
pubformdat0_.operator operator332_,
pubformdat0_.operate_date operate23_332_,
pubformdat0_.file_security_level file24_332_,
pubformdat0_.yj_flag yj25_332_,
pubformdat0_.yj_user yj26_332_
FROM wf_pub_form_data pubformdat0_
WHERE 1 = 1
AND pubformdat0_.id IN
(SELECT DISTINCT pubformcas1_.form_id
FROM wf_pub_form_case pubformcas1_
WHERE pubformcas1_.case_id IN
(SELECT to_char(caserun0_.id)
FROM case_run caserun0_, workitem_run workitemru1_
WHERE caserun0_.id = workitemru1_.caseid
AND caserun0_.state = 2
AND workitemru1_.performer IN ('300016/00415')
AND workitemru1_.valid_flag = '0'
UNION ALL
SELECT to_char(caserun2_.id)
FROM case_run caserun2_,
workitem_history workitemhi3_
WHERE caserun2_.id = workitemhi3_.caseid
AND caserun2_.state = 2
AND workitemhi3_.performer IN ('300016/00415')
AND workitemhi3_.valid_flag = '0'))
ORDER BY pubformdat0_.operate_date DESC)
WHERE rownum <= 10;
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 1843931409 ------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 10 | 11200 | | 230M (1)|769:57:46 |
|* 1 | COUNT STOPKEY | | | | | | |
| 2 | VIEW | | 718 | 785K| | 230M (1)|769:57:46 |
|* 3 | SORT ORDER BY STOPKEY | | 718 | 281K| 696K| 230M (1)|769:57:46 |
| 4 | NESTED LOOPS | | 718 | 281K| | 230M (1)|769:57:45 |
| 5 | VIEW | VW_NSO_1 | 714 | 35700 | | 230M (1)|769:57:28 |
| 6 | HASH UNIQUE | | 714 | 40698 | | | |
|* 7 | FILTER | | | | | | |
| 8 | TABLE ACCESS FULL | WF_PUB_FORM_CASE | 375K| 20M| | 1817 (1)| 00:00:22 |
| 9 | UNION-ALL | | | | | | |
| 10 | NESTED LOOPS | | 1 | 32 | | 261 (0)| 00:00:04 |
| 11 | TABLE ACCESS BY INDEX ROWID| WORKITEM_RUN | 132 | 3168 | | 129 (0)| 00:00:02 |
|* 12 | INDEX RANGE SCAN | IDX_WORKITEM_R_13 | 132 | | | 3 (0)| 00:00:01 |
|* 13 | TABLE ACCESS BY INDEX ROWID| CASE_RUN | 1 | 8 | | 1 (0)| 00:00:01 |
|* 14 | INDEX UNIQUE SCAN | PK_CASE_RUN | 1 | | | 0 (0)| 00:00:01 |
| 15 | NESTED LOOPS | | 1 | 31 | | 368 (1)| 00:00:05 |
| 16 | TABLE ACCESS BY INDEX ROWID| WORKITEM_HISTORY | 582 | 13386 | | 226 (0)| 00:00:03 |
|* 17 | INDEX RANGE SCAN | IDX_WORKITEM_H_13 | 325 | | | 5 (0)| 00:00:01 |
|* 18 | TABLE ACCESS BY INDEX ROWID| CASE_RUN | 1 | 8 | | 1 (0)| 00:00:01 |
|* 19 | INDEX UNIQUE SCAN | PK_CASE_RUN | 1 | | | 0 (0)| 00:00:01 |
| 20 | TABLE ACCESS BY INDEX ROWID | WF_PUB_FORM_DATA | 1 | 352 | | 2 (0)| 00:00:01 |
|* 21 | INDEX UNIQUE SCAN | SYS_C0051297 | 1 | | | 1 (0)| 00:00:01 |
------------------------------------------------------------------------------------------------------------------ Predicate Information (identified by operation id):
--------------------------------------------------- 1 - filter(ROWNUM<=10)
3 - filter(ROWNUM<=10)
7 - filter( EXISTS ( (SELECT /*+ */ TO_CHAR("CASERUN0_"."ID") FROM "WORKITEM_RUN"
"WORKITEMRU1_","CASE_RUN" "CASERUN0_" WHERE "CASERUN0_"."ID"="WORKITEMRU1_"."CASEID" AND
"CASERUN0_"."STATE"=2 AND TO_CHAR("CASERUN0_"."ID")=:B1 AND "WORKITEMRU1_"."VALID_FLAG"='0' AND
"WORKITEMRU1_"."PERFORMER"='300016/00415') UNION ALL (SELECT /*+ */ TO_CHAR("CASERUN2_"."ID") FROM
"WORKITEM_HISTORY" "WORKITEMHI3_","CASE_RUN" "CASERUN2_" WHERE "CASERUN2_"."ID"="WORKITEMHI3_"."CASEID"
AND "CASERUN2_"."STATE"=2 AND TO_CHAR("CASERUN2_"."ID")=:B2 AND "WORKITEMHI3_"."VALID_FLAG"='0' AND
"WORKITEMHI3_"."PERFORMER"='300016/00415')))
12 - access("WORKITEMRU1_"."PERFORMER"='300016/00415' AND "WORKITEMRU1_"."VALID_FLAG"='0')
13 - filter("CASERUN0_"."STATE"=2)
14 - access("CASERUN0_"."ID"="WORKITEMRU1_"."CASEID")
filter(TO_CHAR("CASERUN0_"."ID")=:B1)
17 - access("WORKITEMHI3_"."PERFORMER"='300016/00415' AND "WORKITEMHI3_"."VALID_FLAG"='0')
18 - filter("CASERUN2_"."STATE"=2)
19 - access("CASERUN2_"."ID"="WORKITEMHI3_"."CASEID")
filter(TO_CHAR("CASERUN2_"."ID")=:B1)
21 - access("PUBFORMDAT0_"."ID"="$nso_col_1") 50 rows selected. 7 - filter( EXISTS ( (SELECT /*+ */ TO_CHAR("CASERUN0_"."ID") FROM "WORKITEM_RUN"
"WORKITEMRU1_","CASE_RUN" "CASERUN0_" WHERE "CASERUN0_"."ID"="WORKITEMRU1_"."CASEID" AND
"CASERUN0_"."STATE"=2 AND TO_CHAR("CASERUN0_"."ID")=:B1 AND "WORKITEMRU1_"."VALID_FLAG"='0' AND
"WORKITEMRU1_"."PERFORMER"='300016/00415') UNION ALL (SELECT /*+ */ TO_CHAR("CASERUN2_"."ID") FROM
"WORKITEM_HISTORY" "WORKITEMHI3_","CASE_RUN" "CASERUN2_" WHERE "CASERUN2_"."ID"="WORKITEMHI3_"."CASEID"
AND "CASERUN2_"."STATE"=2 AND TO_CHAR("CASERUN2_"."ID")=:B2 AND "WORKITEMHI3_"."VALID_FLAG"='0' AND
"WORKITEMHI3_"."PERFORMER"='300016/00415'))) pubformcas1_.case_id IN
(SELECT to_char(caserun0_.id)
FROM case_run caserun0_, workitem_run workitemru1_
WHERE caserun0_.id = workitemru1_.caseid
AND caserun0_.state = 2
AND workitemru1_.performer IN ('300016/00415')
AND workitemru1_.valid_flag = '0'
UNION ALL
SELECT to_char(caserun2_.id)
FROM case_run caserun2_,
workitem_history workitemhi3_
WHERE caserun2_.id = workitemhi3_.caseid
AND caserun2_.state = 2
AND workitemhi3_.performer IN ('300016/00415')
AND workitemhi3_.valid_flag = '0')) 这里子查询解嵌套没有展开,改写如下:
SELECT *
FROM (SELECT pubformdat0_.id id332_, pubformdat0_.domain_id domain2_332_,
pubformdat0_.process_id process3_332_,
pubformdat0_.entity_id entity4_332_,
pubformdat0_.file_type file5_332_,
pubformdat0_.title title332_, pubformdat0_.word_no word7_332_,
pubformdat0_.priority priority332_,
pubformdat0_.secret_level secret9_332_,
pubformdat0_.drafter drafter332_,
pubformdat0_.drafter_name drafter11_332_,
pubformdat0_.draft_dept draft12_332_,
pubformdat0_.draft_deptname draft13_332_,
pubformdat0_.draft_date draft14_332_,
pubformdat0_.end_date end15_332_,
pubformdat0_.arch_state arch16_332_,
pubformdat0_.arch_fileid arch17_332_,
pubformdat0_.gq_templateid gq18_332_,
pubformdat0_.gw_templateid gw19_332_,
pubformdat0_.edit_flag edit20_332_,
pubformdat0_.delete_flag delete21_332_,
pubformdat0_.operator operator332_,
pubformdat0_.operate_date operate23_332_,
pubformdat0_.file_security_level file24_332_,
pubformdat0_.yj_flag yj25_332_, pubformdat0_.yj_user yj26_332_
FROM wf_pub_form_data pubformdat0_
WHERE 1 = 1
AND pubformdat0_.id IN (SELECT DISTINCT pubformcas1_.form_id
FROM wf_pub_form_case pubformcas1_
/* WHERE pubformcas1_.case_id IN */
where exists
-----------------------------------------------------------------------
(select null from (SELECT to_char(caserun0_.id) as id
FROM case_run caserun0_,
workitem_run workitemru1_
WHERE caserun0_.id
=
workitemru1_.caseid
AND caserun0_.state
= 2
AND workitemru1_.performer
IN (
'300016/00415'
)
AND workitemru1_.valid_flag
= '0'
UNION ALL
SELECT to_char(
caserun2_.id)
FROM case_run caserun2_,
workitem_history workitemhi3_
WHERE caserun2_.id
=
workitemhi3_.caseid
AND caserun2_.state
= 2
AND workitemhi3_.performer
IN (
'300016/00415'
)
AND workitemhi3_.valid_flag
= '0'
) t where pubformcas1_.case_id = t.id ) )
ORDER BY pubformdat0_.operate_date DESC)
WHERE rownum <= 10

最新文章

  1. sql 根据指定条件获取一个字段批量获取数据插入另外一张表字段中+MD5加密
  2. 编写shell管理脚本(二)
  3. JS刷新页面的几种方法(转)
  4. C/C++ 位域知识小结
  5. SDUT 1646 Complicated Expressions
  6. UVa1628 UVaLive5847 Pizza Delivery
  7. 那些年被我坑过的Python——摩拳擦掌(第三章)
  8. 如何将BarTender内容锁定不让改动
  9. MySQL之数据库结构优化
  10. 【转载】C#中自定义Sort的排序规则IComparable接口
  11. Unity Lighting(一)光照练习
  12. html DOM 方法和屬性
  13. jenkins 异常
  14. ubuntu播放音频没声音
  15. 如何在linux centos 环境下运行.exe文件
  16. 洛谷P3375KMP字符串匹配
  17. Java中关于Arrays.asList()的操作
  18. shell中的条件判断以及与python中的对比
  19. 使用httplib打开链接
  20. Quartz.net官方开发指南[转]

热门文章

  1. WildFly 9.0.2 + SQLServer + BIRT + JNDI 处理BIRT报表发布时数据源的修改
  2. MVC小系列(十四)【MVC+ZTree大数据异步树加载】
  3. Linq语法
  4. iOS开发-自动布局篇:史上最牛的自动布局教学!
  5. O-C相关-10-动态类型检查
  6. 还在在专业的blog记录生活吧!
  7. 导入外部jar包的方法
  8. Android中为窗口定义主题
  9. 手动通过Lucene判断该pom文件中jar是否存在,子依赖没判断
  10. HBuilder手机Iphone运行提示“未受信用的企业级开发者”