语句如下:

select

decode(sum(v.period_prem), null, 0, sum(v.period_prem)) from

(select pf.list_id, nvl(pf.period_prem, 0) period_prem

from t_product_fee     pf,

t_contract_master cm,

t_product_life    pl,

t_policy_fee      pfe

where pf.policy_id = cm.policy_id

and cm.validate_date <

ADD_MONTHS(to_date('201005', 'yyyymm'), -13)

and cm.validate_date >=

ADD_MONTHS(to_date('201005', 'yyyymm'), -14)

and pf.fee_id = pfe.fee_id

and pfe.received_time >=

ADD_MONTHS(cm.validate_date, 12)

and pfe.received_time <

ADD_MONTHS(to_date('201005', 'yyyymm'), 1)

and pfe.receiv_status = 2

and pf.charge_type = 1

and pf.product_id = pl.product_id

and (pl.period_type <> 2 or exists

(select 1

from t_life_basic cc

where cc.coverage_year <> 1

and cc.product_id = pl.product_id))

and pf.fee_type in (43, 47, 48)

and pf.policy_year = 2

and cm.prem_status not in (2, 3, 4)

and cm.nb_agency_id in

(select agency_id

from t_agency

start with agency_id = 121

Connect By Prior agency_id = parent_id)) v

where pkg_life_calc_basic_comm.f_is_effect(v.list_id) = '0';

虽然这样写了但是最后的条件pkg_life_calc_basic_comm.f_is_effect(v.list_id) = '0'还是在第一步就执行了执行计划如下:

Plan hash value: 1942344324

----------------------------------------------------------------------------------------------------

| Id  | Operation                         | Name                         | Starts | E-Rows | A-Rows |   A-Time   | Buffers |

----------------------------------------------------------------------------------------------------

|   1 |  SORT AGGREGATE                   |                              |      1 |      1 |      1 |00:00:09.43 |    1298K|

|*  2 |   FILTER                          |                              |      1 |        |      0 |00:00:09.43 |    1298K|

|*  3 |    HASH JOIN SEMI                 |                              |      1 |      1 |      0 |00:00:09.43 |    1298K|

|   4 |     NESTED LOOPS                  |                              |      1 |      1 |     79 |00:00:10.02 |    1298K|

|   5 |      NESTED LOOPS                 |                              |      1 |      1 |     79 |00:00:10.01 |    1298K|

PLAN_TABLE_OUTPUT

----------------------------------------------------------------------------------------------------

|   6 |       NESTED LOOPS                |                              |      1 |      5 |     85 |00:00:10.23 |    1297K|

|*  7 |        TABLE ACCESS FULL          | T_PRODUCT_FEE                |      1 |     22 |  19155 |00:00:09.16 |    1259K|

|*  8 |        TABLE ACCESS BY INDEX ROWID| T_CONTRACT_MASTER            |  19155 |      1 |     85 |00:00:00.42 |

|*  9 |         INDEX UNIQUE SCAN         | PK_T_CONTRACT_MASTER         |  19155 |      1 |  19155 |00:00:00.18 |   19157 |

|* 10 |       TABLE ACCESS BY INDEX ROWID | T_POLICY_FEE                 |     85 |      1 |     79 |00:00:00.01 |     25

|* 11 |        INDEX UNIQUE SCAN          | PK_T_POLICY_FEE              |     85 |      1 |     85 |00:00:00.01 |     172 |

|  12 |      TABLE ACCESS BY INDEX ROWID  | T_PRODUCT_LIFE               |     79 |      1 |     79 |00:00:00.01 |      81 |

|* 13 |       INDEX UNIQUE SCAN           | PK_T_PRODUCT_LIFE            |     79 |      1 |     79 |00:00:00.01 |       2 |

|  14 |     VIEW                          | VW_NSO_1                     |      1 |     58 |     54 |00:00:00.01 |      23 |

|* 15 |      FILTER                       |                              |      1 |        |     54 |00:00:00.01 |      23 |

|* 16 |       CONNECT BY WITH FILTERING   |                              |      1 |        |     54 |00:00:00.01 |      23 |

PLAN_TABLE_OUTPUT

----------------------------------------------------------------------------------------------------

|  17 |        TABLE ACCESS BY INDEX ROWID| T_AGENCY                     |      1 |        |      1 |00:00:00.01 |       2 |

|* 18 |         INDEX UNIQUE SCAN         | PK_T_AGENCY                  |      1 |      1 |      1 |00:00:00.01 |       1 |

|* 19 |        HASH JOIN                  |                              |      3 |        |     53 |00:00:00.01 |      21 |

|  20 |         CONNECT BY PUMP           |                              |      3 |        |     54 |00:00:00.01 |       0 |

|  21 |         TABLE ACCESS FULL         | T_AGENCY                     |      3 |     58 |    177 |00:00:00.01 |      21 |

|  22 |        TABLE ACCESS FULL          | T_AGENCY                     |      0 |     58 |      0 |00:00:00.01 |       0 |

|* 23 |    INDEX RANGE SCAN               | UNI_LIFE_BASIC__PRODUCT_INFO |      0 |     39 |      0 |00:00:00.01 |       0 |

Predicate Information (identified by operation id):

---------------------------------------------------

PLAN_TABLE_OUTPUT

----------------------------------------------------------------------------------------------------

2 - filter((TO_NUMBER("PL"."PERIOD_TYPE")<>2 OR  IS NOT NULL))

3 - access("CM"."NB_AGENCY_ID"="$nso_col_1")

7 - filter(("PF"."POLICY_YEAR"=2 AND INTERNAL_FUNCTION("PF"."FEE_TYPE") AND TO_NUMBER("PF"."CHARG

"PKG_LIFE_CALC_BASIC_COMM"."F_IS_EFFECT"("PF"."LIST_ID")=0))

8 - filter(("CM"."NB_AGENCY_ID" IS NOT NULL AND "CM"."VALIDATE_DATE"

hh24:mi:ss') AND "CM"."PREM_STATUS"<>2 AND "CM"."VALIDATE_DATE">=TO_DATE('2009-03-01 00:00:00

hh24:mi:ss') AND ADD_MONTHS(INTERNAL_FUNCTION("CM"."VALIDATE_DATE"),12)

hh24:mi:ss') AND "CM"."PREM_STATUS"<>3 AND "CM"."PREM_STATUS"<>4))

9 - access("PF"."POLICY_ID"="CM"."POLICY_ID")

10 - filter((TO_NUMBER("PFE"."RECEIV_STATUS")=2 AND "PFE"."RECEIVED_TIME"

PLAN_TABLE_OUTPUT

----------------------------------------------------------------------------------------------------

'yyyy-mm-dd hh24:mi:ss') AND "PFE"."RECEIVED_TIME">=ADD_MONTHS(INTERNAL_FUNCTION("CM"."VALIDA

11 - access("PF"."FEE_ID"="PFE"."FEE_ID")

13 - access("PF"."PRODUCT_ID"="PL"."PRODUCT_ID")

15 - filter((TO_DATE('2009-04-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')>TO_DATE('2009-03-01 00:00:00'

hh24:mi:ss') AND TO_DATE('2009-03-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')

hh24:mi:ss')))

16 - filter("AGENCY_ID"=121)

18 - access("AGENCY_ID"=121)

19 - access("PARENT_ID"=NULL)

23 - access("CC"."PRODUCT_ID"=:B1)

filter("CC"."COVERAGE_YEAR"<>1)

PLAN_TABLE_OUTPUT

----------------------------------------------------------------------------------------------------

注意第7步啊

我就是不想"PKG_LIFE_CALC_BASIC_COMM"."F_IS_EFFECT"("PF"."LIST_ID")=0 如此早的执行,

想等到子查询完成后在执行,这个是调用一个方法,返回结果越多,越慢,最后执行是最好的。

有那些方法办到啊,谢谢.我加了提示,建了视图 没用可能提示加得不对。望指点,谢谢!

php 子查询优化,语句优化,如何控制子查询先执行相关推荐

  1. Mysql子查询优化技术

    1:子查询优化的思路 1.1  子查询合并(Subquery Coalescing) 在某些条件下(语义等价:两个查询块产生同样的结果集),多个子查询能够合并成一个子查询(合并后还是子查询,可以通过其 ...

  2. 8、查询优化-关联查询优化-子查询优化-Order by 关键字优化-Group by 关键字优化-双路排序和单路排序

    8.查询优化 8.1.准备数据 8.1.1.建表 CREATE TABLE `dept` (`id` INT ( 11 ) NOT NULL AUTO_INCREMENT,`deptName` VAR ...

  3. 数据库面试题【十八、优化关联查询优化子查询优化LIMIT分页优化UNION查询优化WHERE子句】

    优化关联查询: 确定ON或者USING子句中是否有索引. 确保GROUP BY和ORDER BY只有一个表中的列,这样MySQL才有可能使用索引. 优化子查询: 用关联查询替代 优化GROUP BY和 ...

  4. Mysql 关联查询的优化 及 子查询优化

    Mysql 关联查询的优化 left join ①EXPLAIN SELECT * FROM class LEFT JOIN book ON class.card = book.card; ②如何优化 ...

  5. mysql自带查询优化_MySQL之select in 子查询优化的实现

    下面的演示基于MySQL5.7.27版本 一.关于MySQL子查询的优化策略介绍: 子查询优化策略 对于不同类型的子查询,优化器会选择不同的策略. 1. 对于 IN.=ANY 子查询,优化器有如下策略 ...

  6. mysql semi join_技术分享 | MySQL 子查询优化

    作者:胡呈清 爱可生 DBA 团队成员,擅长故障分析.性能优化,个人博客:https://www.jianshu.com/u/a95...,欢迎讨论. 本文来源:原创投稿 *爱可生开源社区出品,原创内 ...

  7. mysql子查询缺点_[慢查优化]慎用MySQL子查询,尤其是看到DEPENDENT SUBQUERY标记时

    它的执行计划如下,请注意看关键词"DEPENDENT SUBQUERY": id  select_type         table   type            poss ...

  8. mysql 子查询优化一例

    2019独角兽企业重金招聘Python工程师标准>>> 写在前面的话: 在慢查优化1和2里都反复强调过 explain 的重要性,但有时候肉眼看不出 explain 结果如何指导优化 ...

  9. python mongodb查询速度优化_Mongodb 3 查询优化(语句优化、建索引)

    一.explain(),语句分析工具 MongoDB 3.0之后,explain的返回与使用方法与之前版本有了很大的变化,介于3.0之后的优秀特色和我们目前所使用给的是3.0.7版本,本文仅针对Mon ...

最新文章

  1. [转]C++基础:C++的结构struct
  2. pip install whl
  3. MVCWebForm对照学习:传值方式
  4. 简单的总是好的,在这个复杂的世界: java simple log
  5. ASP.NETAPI跨域设置(超简易)
  6. kong安装配置手册
  7. 小米 pegasus_使用Google的Pegasus库生成摘要
  8. Linux wc命令用于计算字数。
  9. 会员登录 php,php $_SESSION会员登录实例分享
  10. java int sum 0 i_【亲和数】 (Java代码)
  11. flann中关于数据的stride
  12. 视频编解码(二):编解码器基础知识
  13. Qt5学习笔记之串口助手三:打包成Windows软件
  14. [云原生专题-11]:容器 - 如何构建自己的docker镜像:Docker Dockerfile
  15. matlab中uigetfile命令的应用
  16. c语言中整型32768输出是多少,c语言中不合法的整型常数是32768为什么 – 手机爱问...
  17. 8月新亲测完美短视频点赞系统支持抖音+快手+刷宝+微视等所有主流短视频点赞/关注/评论系统源码
  18. 抖音播放量突然被限流降权是什么原因
  19. fedora如何隐藏顶部状态栏_桌面便签如何始终保持显示,便签如何在桌面显示
  20. 计算机专业硕士初次认定工程师,深圳职称初次认定条件(初级、中级)

热门文章

  1. Vue-cli安装问题及解决方案
  2. 腾讯实习生入职报到注意点(2012)
  3. Turbo intruder插件代码
  4. Ubuntu Linux下vimplus的安装及使用
  5. js 如何代替java中的长整型_Javascript长整型
  6. 枪火重生灵界狂潮攻略(三)兔子流派
  7. cmsv9后台flash上传插件改为百度上传插件
  8. mysql skip用法_【MySql】sql_slave_skip_counter 参数的用法解析
  9. python抓包拦截_python实现抓包、解析流程,超过瘾!
  10. 给大伙儿介绍一个好用的数据库软件软件