关于ashrpt中行源的CPU + Wait for CPU事件深入解读

该等待事件并不包含在等待事件范围,而是出现在ash的具体行源中,如下:

标注语句的每次执行大约1小时,如下awr所示:

该sql语句的最后一层Insert如下:

insert into ta_tf
   l_liquidatebonus,
   c_managercode,
   c_liqbatchno)
  select a.c_tenantid,
         a.c_tacode,
         a.c_fundcode,
         a.c_agencyno,
         getrldays(a.c_tenantid,
                     a.c_fundcode,
                     a.c_agencyno,
                     20180918,
                     -1 * a.l_tnconfirm) d_requestdate,
         a.l_tnconfirm,
         getidays(a.c_tenantid,
                         a.c_fundcode,
                         a.c_agencyno,
                         20180918,
                         a.l_liquidatesub,
                         1,
                         a.c_ageregion) as l_liquidatesub,
         getidays(a.c_tenantid,
                         a.c_fundcode,
                         a.c_agencyno,
                         20180918,
                         a.l_liquidateallot - a.l_tnconfirm,
                         1,
                         a.c_ageregion) as l_liquidateallot,
         getidays(a.c_tenantid,
                         a.c_fundcode,
                         a.c_agencyno,
                         20180918,
                         a.l_liquidateredeem - a.l_tnconfirm,
                         1,
                         a.c_ageregion) as l_liquidateredeem,
         getidays(a.c_tenantid,
                         a.c_fundcode,
                         a.c_agencyno,
                         20180918,
                         a.l_liquidateend,
                         1,
                         a.c_ageregion) as l_liquidateend,
         getidays(a.c_tenantid,
                         a.c_fundcod e,
                         a.c_agencyno,
                         20180918,
                         a.l_liquidatebonus,
                         1,
                         a.c_ageregion) as l_liquidatebonus,
         a.c_managercode,
         a.c_liqbatchno

每个调用的函数里面又执行了sql语句查询,所以大多这些不存在I/O瓶颈的语句行源都在等待CPU + Wait for CPU,该事件只能说明cpu很忙,至于是否cpu过载要看情况,一般来说逻辑读写不是特别多的话而且cpu整体不忙的话,很大程度上可以认为sql语句应该使用并行执行来加快速度。

posted @ 2018-12-01 14:19  zhjh256  阅读(764)  评论(0编辑  收藏  举报