查看: 4055|回复: 4

[PL/SQL] left join优化

[复制链接]
论坛徽章:
2
ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042013年新春福章
日期:2013-02-25 14:51:24
发表于 2011-7-17 19:41 | 显示全部楼层 |阅读模式
请问下面sql如何优化下,其中
select device_id
            from  t1, t2
           where t1.sys_oid = t2.sys_oid
             and t2.device_type in ('FAT_AP', 'FIT_AP')
记录为15万条。

insert /*+ append*/ into REPORT_HOUR
  select tt.device_id as device_id,
         to_date('2011-07-16 21:00:00', 'yyyy-mm-dd hh24:mi:ss') as time_stamp,
         ceil(t1.onlineuser) as onlineuser,
         ceil(t1.max_onlineuser) as max_onlineuser,
         round(t2.if_in_bytes / 1024, 2) as in_bytes,
         round(t2.if_in_traffic / 1024, 2) as if_in_traffic,
         round(t2.max_if_in_traffic / 1024, 2) as max_if_in_traffic,
         round(t2.if_out_bytes / 1024, 2) as out_bytes,
         round(t2.if_out_traffic / 1024, 2) as if_out_traffic,
         round(t2.max_if_out_traffic / 1024, 2) as max_if_out_traffic,
         round(t2.max_traffic / 1024, 2) as max_traffic,
         t1.asso_conn_total
    from (select device_id
            from  t1, t2
           where t1.sys_oid = t2.sys_oid
             and t2.device_type in ('FAT_AP', 'FIT_AP')) tt
    left join (select device_uuid as device_id,
                      avg(asso_user_conn_total) as onlineuser,
                      max(asso_user_conn_total) as max_onlineuser,
                      sum(asso_conn_total) as asso_conn_total
                 from nhm_kpi
                where time_stamp >= trunc(to_date('2011-07-16 21:00:00',
                                                  'yyyy-mm-dd hh24:mi:ss'),
                                          'hh24')
                  and time_stamp < (trunc(to_date('2011-07-16 21:00:00',
                                                  'yyyy-mm-dd hh24:mi:ss'),
                                          'hh24') + 1 / 24)
                group by device_uuid) t1 on tt.device_id = t1.device_id
    left join (select device_uuid as device_id,
                      sum(in_bytes) as if_in_bytes,
                      sum(out_bytes) as if_out_bytes,
                      avg(in_traffic) as if_in_traffic,
                      max(in_traffic) as max_if_in_traffic,
                      avg(out_traffic) as if_out_traffic,
                      max(out_traffic) as max_if_out_traffic,
                      max(in_traffic + out_traffic) as max_traffic
                 from nhm_view
                where time_stamp >= trunc(to_date('2011-07-16 21:00:00',
                                                  'yyyy-mm-dd hh24:mi:ss'),
                                          'hh24')
                  and time_stamp < trunc(to_date('2011-07-16 21:00:00',
                                                 'yyyy-mm-dd hh24:mi:ss'),
                                         'hh24') + 1 / 24
                group by device_uuid) t2 on tt.device_id = t2.device_id
论坛徽章:
9
授权会员
日期:2005-10-30 17:05:33生肖徽章2007版:猴
日期:2009-03-10 21:16:262010广州亚运会纪念徽章:马术
日期:2010-11-12 17:41:272010广州亚运会纪念徽章:高尔夫球
日期:2010-12-30 18:46:462011新春纪念徽章
日期:2011-02-18 11:42:50ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11
发表于 2011-7-17 20:04 | 显示全部楼层
你得先把执行计划 贴出来。。

使用道具 举报

回复
论坛徽章:
2
ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042013年新春福章
日期:2013-02-25 14:51:24
 楼主| 发表于 2011-8-1 19:13 | 显示全部楼层
从sql表面看可以有更好的写法吗?

使用道具 举报

回复
论坛徽章:
5
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51数据库板块每日发贴之星
日期:2011-07-22 01:01:02蜘蛛蛋
日期:2011-08-24 14:10:13ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042012新春纪念徽章
日期:2012-01-04 11:54:26
发表于 2011-8-1 19:27 | 显示全部楼层
什么信息都不给,别人怎么帮你

使用道具 举报

回复
认证徽章
论坛徽章:
86
秀才
日期:2015-09-21 09:46:16目光如炬
日期:2014-07-28 06:00:03马上有钱
日期:2014-06-16 15:55:42马上有房
日期:2014-06-16 15:55:422014年世界杯参赛球队: 伊朗
日期:2014-06-13 11:29:242014年世界杯参赛球队:巴西
日期:2014-06-06 14:36:14马上有钱
日期:2014-04-04 13:51:21马上加薪
日期:2014-04-04 13:35:40马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02
发表于 2011-8-1 22:32 | 显示全部楼层
看看执行计划,是否调整一下

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

大会官网>>
TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表