查看: 3211|回复: 15

update优化和诊断

[复制链接]
认证徽章
论坛徽章:
58
生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:592013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37萤石
日期:2013-10-31 08:44:19优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09
发表于 2011-1-27 11:09 | 显示全部楼层 |阅读模式
UPDATE xxxx.case_201012 t
   SET t.asset_row_id = (SELECT   crm_serv_nbr
                             FROM xxxx.case_201012_1 p
                            WHERE t.serv_id = p.serv_id
                         GROUP BY crm_serv_nbr)
        
        
        执行计划:                 
      UPDATE STATEMENT, GOAL = ALL_ROWS        1113304        1983                1952                        469843814
UPDATE                                        xxxx        case_201012       
  TABLE ACCESS FULL        1113304        1983                1952        xxxx        case_201012        469843814
  HASH GROUP BY        2        7                6                        15056910
   TABLE ACCESS BY INDEX ROWID        2        6                6        xxxx        case_201012_1        44439
    INDEX RANGE SCAN        2        3                3        APP        INDX_SERV_ID_SERV_1        21964


INDEX_NAME                     COLUMN_NAME
------------------------------ --------------------------------------------------------------------------------
IND_CRM_SERV_NBR               CRM_SERV_NBR
INDX_SERV_ID_SERV_1            SERV_ID

INDEX_NAME                     COLUMN_NAME
------------------------------ --------------------------------------------------------------------------------
IDX_SOSE_201012                SERV_ID
INDX_ACCT_NBR_97_201012        ACCT_NBR_97
INDX_ASSET_ROW_ID              ASSET_ROW_ID
INDX_SERV_ID_SERV              SERV_ID



table_name='case_201012';

  NUM_ROWS     BLOCKS AVG_ROW_LEN
---------- ---------- -----------
   1110220      11260          59
   3984576      51929          88
   
   
table_name='case_201012_1';

  NUM_ROWS     BLOCKS AVG_ROW_LEN
---------- ---------- -----------
   1106556      11860          70
认证徽章
论坛徽章:
58
生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:592013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37萤石
日期:2013-10-31 08:44:19优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09
发表于 2011-1-27 11:16 | 显示全部楼层
对应的session下有如下等待
log file switch completion

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
         9          1      34482 2147483648          1 NO       INACTIVE         1201891514272 2011-1-27 上
        10          1      34483 2147483648          1 NO       INACTIVE         1201892341133 2011-1-27 上
        11          1      34481 2147483648          1 NO       INACTIVE         1201891485476 2011-1-27 上
        12          1      34480 2147483648          1 NO       INACTIVE         1201890235190 2011-1-27 上
        13          1      34487 2147483648          1 NO       CURRENT          1201895569152 2011-1-27 上
        14          1      34486 2147483648          1 NO       ACTIVE           1201895501349 2011-1-27 上
        15          1      34484 2147483648          1 NO       INACTIVE         1201892973125 2011-1-27 上
        16          1      34485 2147483648          1 NO       INACTIVE         1201894835352 2011-1-27 上

使用道具 举报

回复
论坛徽章:
136
ITPUB年度最佳技术回答奖
日期:2010-06-12 13:17:14现代
日期:2013-10-02 14:53:59路虎
日期:2013-11-22 12:26:182014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
发表于 2011-1-27 11:25 | 显示全部楼层
语句逻辑有问题,你要更新所有数据吗

使用道具 举报

回复
论坛徽章:
51
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:22铁扇公主
日期:2012-02-21 15:03:13最佳人气徽章
日期:2012-03-13 17:39:18ITPUB季度 技术新星
日期:2012-05-22 15:10:11ITPUB 11周年纪念徽章
日期:2012-10-09 18:13:332013年新春福章
日期:2013-02-25 14:51:24ITPUB社区12周年站庆徽章
日期:2013-08-12 09:34:36itpub13周年纪念徽章
日期:2014-09-28 10:55:55
发表于 2011-1-27 11:26 | 显示全部楼层
速度慢吗?感觉挺不错的啊~
不符合的为空?

使用道具 举报

回复
认证徽章
论坛徽章:
58
生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:592013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37萤石
日期:2013-10-31 08:44:19优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09
发表于 2011-1-27 11:32 | 显示全部楼层
天呢!我只管看执行计划了,真是贻笑大方了 !不好意思。

[ 本帖最后由 yyp2009 于 2011-1-27 11:44 编辑 ]

使用道具 举报

回复
认证徽章
论坛徽章:
58
生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:592013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37萤石
日期:2013-10-31 08:44:19优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09
发表于 2011-1-27 11:43 | 显示全部楼层
应该这样吧:

   update xxxx.case_201012 _201012 t
   set t.asset_Row_id =
       (select crm_serv_nbr
          from xxxx.case_201012 _201012_1 p
         where t.serv_id = p.serv_id
         group by crm_serv_nbr)
where exists (select *
          from xxxx.case_201012 _201012_1 p
         where t.serv_id = p.serv_id)

使用道具 举报

回复
认证徽章
论坛徽章:
58
生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:592013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37萤石
日期:2013-10-31 08:44:19优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09
发表于 2011-1-27 11:44 | 显示全部楼层
呀呀的 春节前最后一贴发的如此不堪!

使用道具 举报

回复
论坛徽章:
51
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:22铁扇公主
日期:2012-02-21 15:03:13最佳人气徽章
日期:2012-03-13 17:39:18ITPUB季度 技术新星
日期:2012-05-22 15:10:11ITPUB 11周年纪念徽章
日期:2012-10-09 18:13:332013年新春福章
日期:2013-02-25 14:51:24ITPUB社区12周年站庆徽章
日期:2013-08-12 09:34:36itpub13周年纪念徽章
日期:2014-09-28 10:55:55
发表于 2011-1-27 11:56 | 显示全部楼层

回复 #6 yyp2009 的帖子

执行计划贴下吧

怎么感觉 没回都差不多呢呵呵

使用道具 举报

回复
认证徽章
论坛徽章:
58
生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:592013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37萤石
日期:2013-10-31 08:44:19优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09
发表于 2011-1-27 12:20 | 显示全部楼层
UPDATE STATEMENT, GOAL = ALL_ROWS        760347        5781                5711                        1050886278
UPDATE                                        xxxxx        case_201012       
  HASH JOIN RIGHT SEMI        760347        5781                5711                        1050886278
   INDEX FAST FULL SCAN           1106556        466                456        xxxxx        INDX_SERV_ID_SERV_1        151590259
   TABLE ACCESS FULL           1110220        1983                1952        xxxxx        case_201012        468764414
  HASH GROUP BY        2        7                6                        15056910
   TABLE ACCESS BY INDEX ROWID        2        6                6        xxxxx        case_201012_1        44439
    INDEX RANGE SCAN        2        3                3        xxxxx        INDX_SERV_ID_SERV_1        21964

使用道具 举报

回复
认证徽章
论坛徽章:
58
生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:592013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37萤石
日期:2013-10-31 08:44:19优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09
发表于 2011-1-27 12:29 | 显示全部楼层
原帖由 yyp2009 于 2011-1-5 11:01 发表
函数索引我见过了 ,在rebulid OFR_MAIN_ASSET_N_HIST_E表END_DT 和ASSET_ROW_ID字段上的索引呢。可是大表索引rebulid也很慢的,这些都会弄就是不知道:
1 big  update的性能提升如何做好?

有关big update就我知道的是:

Update always see hang,and after many hour,rollback segment full,statement fail.
Cursor update,too slow

解决上 听说有如下怎么回事:
一次可以将连续的extent一起修改。采用dbms_rowid创建rowid

可是没见过具体怎么弄的


还有就是:

过亿记录,不能用UPDATE 可以考虑用merage 或者insert 到临时表,处理好用临时表数据替换到事实表。处理过程中可以用并行处理.


不知道法号大师有什么高招赐教!!谢谢!

使用道具 举报

回复

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

本版积分规则 发表回复

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号
  
快速回复 返回顶部 返回列表