`
yangzhiyong77
  • 浏览: 966927 次
文章分类
社区版块
存档分类
最新评论

plsqldeveloper7调试的缓慢 大量的pipe get等事件

 
阅读更多

oracle 是10g 10.2.3

主要是调试一个软件包中的过程

cursor cur_mont_lis_resutl is --计算月登录人数和次数
SELECT
PROVCODE,
AREACODE,
VENDER_ID,
OPERATE_TYPE_ID,
count(USERNUMBER) as use_pepo_mon,
count(distinct usernumber) as use_time_day
from oss_openplat_truslogin_monlst
where stats_date >= date_num(g_month_first_day)
and stats_date < g_run_day_n+1
group by
PROVCODE,
AREACODE,
VENDER_ID,
OPERATE_TYPE_ID;

//提取游标的时候非常慢, 该表有上百万的数据.当这不是主要问题 因为运行此过程前已经调试经过了 原始表抽取,日表的统计.反而这月表慢.

open cur_mont_lis_resutl;
loop
fetch cur_mont_lis_resutl bulk collect into --计算月登录人数和次数
l_ARY_provcode,
l_ARY_areacode,
l_ARY_vender_id,
l_ARY_operate_type_id,
l_ARY_use_pepo_mon,
l_ARY_use_time_mon
limit g_batch_size_n;


最后发现使用了date_num(g_month_first_day) 这个软件包的函数 导致非常缓慢
直接换成数字和内联函数 就OK了 深入的原因未知啊
to_number(to_char(g_month_first_day,'yyyymmdd'))
20111201

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics