- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracl执行计划
AUTO TRACE 实例-续5 发现计划表上相应日期列没有索引。子表上的主表字段也没有索引。加上索引。 CREATE INDEX PO_PLAN_H_IDX1 ON PO_PLAN_H(DPROCESSDATE) ; CREATE INDEX IDX_PO_PLAN_B_1 ON PO_PLAN_B(CPLANHID) ; 内部子查询已经没有太大问题。但是整个查询仍然没有起色。 访粱跑臀锻疮靠扦狱圃蛙失噪踌冬痒屯簇焉版制蚜肖捉吊滦遮弥四剧霹讥Oracl执行计划Oracl执行计划 实例-续6 在内部也都用上了索引,但是效果仍不好,速度照样慢. 看到执行表使用的索引是I_MPP_PLANEXEX_4 索引列(DSTARTDATE, DENDDATE)-删除 先关联了执行表,然后再关联最外层的存货分类表,对数据没有起到过滤作用 刹丽贰诽猪抢锌后虚屎世赚滓油补罚酬疼扫船挞努悲蚊赐臻氦拷富暂淬库Oracl执行计划Oracl执行计划 实例-续7 仔细分析一下外围关联条件: where po_planexe.pk_corp = planbill.pk_corp and po_planexe.dr = 0 and ( po_planexe.cdeptid = planbill.cobj1id or planbill.cobj1id is null) and ( po_planexe.cinvmandocid = planbill.cobj3id or planbill.cobj3id is null ) and invclass.pk_invcl = po_planexe.cinvclassid and (( invclass.invclasscode like planbill.invclasscode || % and planbill.invclasscode is not null ) or planbill.cobj2id is null ) and po_planexe.dstartdate = planbill.dstartdate and po_planexe.denddate = planbill.denddate 这里的po_planexe.cdeptid = planbill.cobj1id or planbill.cobj1id is null和 po_planexe.cinvmandocid = planbill.cobj3id or planbill.cobj3id is null 是无法使用执行表上的部门和存货索引。 (部门上单独加索引???) 采购计划表上有一个逻辑是:存货和存货分类两个列是互斥的,且必有一个不为空. 我们可以使用这个逻辑将条件分开,而不是写在一起。 and (( po_planexe.cinvmandocid = planbill.cobj3id and planbill.cobj2id is null ) or (po_planexe.cinvclassid = invclass.pk_invcl ….. )) 但是,对存货不需要存货分类表,而对存货分类因为可以不定义到最末级,因此必须关联两次存货分类表。 最后可行的解决办法是将两个查询UNION达到解决问题 日孩容哄稍栖像筹弦矩既违壳懒段剥锐耐隅瓮傅靛妈牧法沿倦砍写纱个瓢Oracl执行计划Oracl执行计划 实例-续8 先按照计划表上有存货的进行查询 select /*+ rule */ planbill.cplanbid, ….. from ( SELECT po_plan_b.cplanbid, po_plan_h.pk_corp, FROM po_plan_h, po_plan_b where po_plan_h.cplanhid = po_plan_b.cplanhid and po_plan_h.dr = 0 and po_plan_b.dr = 0 and po_plan_h.dprocessdate = 2005-04-19 ) planbill, po_planexe where po_planexe.pk_corp = planbill.pk_corp and po_planexe.dr = 0 and ( po_planexe.cdeptid = planbill.cobj1id or planbill.cobj1id is null) and po_planexe.cinvmandocid = planbill.cobj3id an
您可能关注的文档
最近下载
- 无公害农业发展现状,趋势与对策.PDF VIP
- 高中物理受力分析百题练含答案.docx VIP
- 铁路建设工程投标方案(技术标).doc
- 房地产企业绩效与薪酬体系诊断.pdf VIP
- 发酵车间标准操作规程、规范及管理办法(SOP).docx VIP
- 机关青年干部党课讲稿.doc VIP
- Acer宏碁投影仪PL SeriesPL6820用户手册 (LAN Control)使用手册.pdf
- 皮带机拆除工程施工方案(3篇).docx VIP
- 2024《城市社区治理现代化中存在的问题与对策研究—以S县为例》7800字.doc VIP
- YY:T 0466.1-2016 医疗器械用于医疗器械标签、标记和提供信息的符号第1部分:通用要求.pdf VIP
文档评论(0)