ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » Oracle开发 » 解决一个非常大的表的性能问题

标题: [原创] 解决一个非常大的表的性能问题
离线 angelodi250



精华贴数 0
个人空间 0
技术积分 6 (134418)
社区积分 0 (1835306)
注册日期 2008-8-7
论坛徽章:0
      
      

发表于 2008-8-7 15:53 
解决一个非常大的表的性能问题

select T225043.DAY_DT as c1,
       sum(T239481.SELL_OUT) as c2,
       T225101.OUTLET_ID as c3,
       case
         when 'en' = 'en' then
          T225101.OUTLET_NAME
         else
          T225101.OUTLET_NAME_CHN
       end as c4
  from WC_V_OUTLET_PROFILE_D T225101,
      
       WC_DAY_D T225043 /* Dim_WC_DAY_D */,
      
       WC_OUTLET_P_SALESVOLUME_F T239481
where (T225101.OUTLET_WID = T239481.OUTLET_WID and
       T225043.ROW_WID = T239481.DAY_WID)
group by T225043.DAY_DT,
          T225101.OUTLET_ID,
          case
            when 'en' = 'en' then
             T225101.OUTLET_NAME
            else
             T225101.OUTLET_NAME_CHN
          end
order by c1, c3, c4

  现在这段SQL  在PL/SQL 执行解释计划后, WC_OUTLET_P_SALESVOLUME_F   PARTITION HASH JOIN
TABLE Access FuLL Cost “46671” 
WC_OUTLET_P_SALESVOLUME_F 我做过PARTITION by range 按照得是表里period_id分的区
下面是我为表创建的Index
create unique index WC_OUTLET_P_SALESVOLUME_F_P1 on WC_OUTLET_P_SALESVOLUME_F2 (ROW_WID);
create index WC_OUTLET_P_SALESVOLUME_F_INX1 on WC_OUTLET_P_SALESVOLUME_F2 (DAY_WID, OUTLET_WID);

为什么查旬起来很慢,这段SQL从工具的log里自动生成的,改不掉, 大家帮忙看看怎么提高查迅速度。 (不要告我去掉里面的SQL的语句的写法,因为语句是自动生成的) 



 


只看该作者    顶部
离线 alonemo
半人间



精华贴数 0
个人空间 0
技术积分 3299 (446)
社区积分 145 (2817)
注册日期 2004-10-8
论坛徽章:10
ITPUB元老会员2007贡献徽章会员2006贡献徽章授权会员ERP板块每日发贴之星ITPUB新首页上线纪念徽章
设计板块每日发贴之星开发板块每日发贴之星行业板块每日发贴之星行业板块每日发贴之星  

发表于 2008-8-7 16:36 
什么自动生成,这是应用程序上的SQL


__________________
做人太苦,成仙太难
只看该作者    顶部
离线 SUNBLAZE
二年级PL/SQL程序员


精华贴数 0
个人空间 106
技术积分 120 (14438)
社区积分 40 (5449)
注册日期 2007-12-20
论坛徽章:0
      
      

发表于 2008-8-26 23:48 
自动生成?

那可有意思了 很智能阿。


__________________
我的空间 欢迎光临href'=http://space.itpub.net/12474069/
另求职 Oracle开发转DBA!!http://space.itpub.net/12474069/viewspace-432942
只看该作者    顶部
离线 mihawk
卡卡西


来自 杭州
精华贴数 1
个人空间 0
技术积分 1229 (1440)
社区积分 47 (5033)
注册日期 2004-12-27
论坛徽章:4
2008北京奥运纪念徽章:皮划艇激流回旋2008北京奥运纪念徽章:柔道2008北京奥运纪念徽章:羽毛球生肖徽章2007版:鸡  
      

发表于 2008-8-27 13:56 
完整的执行计划贴出来看看.


__________________
◆◆决定一个SQL执行效率的是执行计划, 而不是SQL的写法.◆◆
1. 数据真实的"统计"的分布情况
2. 系统视图中记录的统计信息
3. 实际每个SQL执行时对应的数据情况
只看该作者    顶部
离线 kmpx
妖怪找神仙


精华贴数 0
个人空间 0
技术积分 936 (1990)
社区积分 1 (42421)
注册日期 2006-10-8
论坛徽章:1
2008北京奥运纪念徽章:铁人三项     
      

发表于 2008-8-27 14:15 
试强制索引+PARALLEL


__________________
别揣着糊涂装明白
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问