当前位置:  数据库>oracle

filter造成的性能问题

    来源: 互联网  发布时间:2017-05-28

    本文导语: filter这个词总让人很费解,它下一级可以挂 一个子节点,二个子节点,三个子节点...。 挂一个子节点意思过滤,如对全表进行扫描后,按照条件过滤,丢弃不满足条件的数据。 挂二个子节点类似是nest loop。 挂三个子节点类似1...

filter这个词总让人很费解,它下一级可以挂 一个子节点,二个子节点,三个子节点...。

挂一个子节点意思过滤,如对全表进行扫描后,按照条件过滤,丢弃不满足条件的数据。

挂二个子节点类似是nest loop。

挂三个子节点类似1和2做nest loop,结果集再与3做nest loop(这个是我推测的)。

SQL> set linesize 300
SQL> set timing on
SQL> set autotrace traceonly
SQL> SELECT count(DISTINCT BI.RISK_BASE_ID) count
2 FROM GG_RISK_BASE_INFO BI,
3 GG_TASK_FORM_CLASSTEMPLATE FC,
4 GG_TASK_FORM_TEMPLATEVERSION FT,
5 GG_TASK_FORM_RELATIONTEMPLAT FR,
6 GG_TASK_WORK_SHEET WS,
7 GG_TASK_FORM_EXETASKRECORD FE
8 WHERE FC.RISK_BASE_ID = BI.RISK_BASE_ID
9 and FT.TEMPLATE_FID = FC.TEMPLATE_ID
10 and FR.TEMPLATE_VERSION_ID = FT.TEMPLATE_VERSION_ID
11 and FR.OBJECT_ID = WS.WORK_SHEET_ID
12 and FE.REL_TEMP_ID = FR.REL_TEMP_ID
13 and FR.REL_OBJECT_TYPE = '1'
14 AND FE.TASK_START_TIME > BI.RISK_ASSESS_TIME
15 and (exists
16 (SELECT 1
17 FROM GG_TASK_FORM_RISK_CTL_LOG CL
18 where CL.TEMPLATE_VERSION_ID = FT.TEMPLATE_VERSION_ID) or exists
19 (SELECT 1
20 FROM GG_TASK_FORM_NEW_RISK_INFO RI
21 where RI.REL_TEMP_ID = FR.REL_TEMP_ID));


已用时间: 00: 04: 10.36
执行计划

filter造成的性能问题[图片]

数据规模:
select count(1) from GG_RISK_BASE_INFO; --2828
select count(1) from GG_TASK_FORM_CLASSTEMPLATE; --5600
select count(1) from GG_TASK_FORM_TEMPLATEVERSION; --7646
select count(1) from GG_TASK_FORM_EXETASKRECORD; --33064
select count(1) from GG_TASK_FORM_RELATIONTEMPLAT; --67319
select count(1) from GG_TASK_FORM_RISK_CTL_LOG;--5210
select count(1) from GG_TASK_FORM_NEW_RISK_INFO;--27831


CREATE INDEX IDX_PTNRI_REL_TEMP_ID ON GG_TASK_FORM_NEW_RISK_INFO(REL_TEMP_ID);
CREATE INDEX IDX_PTFRCL_REL_T_V_ID ON GG_TASK_FORM_RISK_CTL_LOG(TEMPLATE_VERSION_ID);

filter造成的性能问题[图片]


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于Filter的问题,请大家帮我好吗?
  • 关于Procmail Mail Filter的问题?
  • 通过过滤器(Filter)解决JSP的Post和Request中文乱码问题
  • java命名空间javax.imageio.spi接口serviceregistry.filter的类成员方法: filter定义及介绍
  • jQuery UI 部件 Structured Filter
  • java命名空间java.util.zip类deflater的类成员方法: filtered定义及介绍
  • 关于filter
  • java命名空间javax.swing类jfilechooser的类成员方法: file_filter_changed_property定义及介绍
  • Python数组条件过滤filter函数使用示例
  • java命名空间javax.xml.crypto.dsig.spec类xpathtype.filter的类成员方法: subtract定义及介绍
  • Apache2 XSLT filter
  • java命名空间javax.xml.crypto.dsig.spec类xpathtype.filter的类成员方法: intersect定义及介绍
  • c#基础 filter 筛选器
  • java命名空间java.awt.image接口rasterop的类成员方法: filter定义及介绍
  • tc filter add增加的过滤规则怎么删除不掉啊?
  • java命名空间javax.swing类jfilechooser的类成员方法: choosable_file_filter_changed_property定义及介绍
  • 请问在Web.xml文件中<filter>结点的作用是什么
  • java命名空间java.awt.image类bandcombineop的类成员方法: filter定义及介绍
  • DNS Blacklist Packet Filter
  • java命名空间java.awt.image类rescaleop的类成员方法: filter定义及介绍
  • UI Table Filter
  • java命名空间java.util.logging接口filter的类成员方法: isloggable定义及介绍
  • 谁能解释一下如何使用javax.servlet.Filter 和javax.servlet.FilterChain!
  • java命名空间javax.swing.plaf.metal类metalfilechooserui.filtercomboboxmodel的类成员方法: filters定义及介绍
  • OpenSocial OAuth Filter


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,