ITPUB??ì3
2010数据库技术大会
ITPUB论坛 » Oracle数据库管理 » 求一亿条数据的更新方法


您有 2 条公共消息
  • 来自: 公共消息 标题: ITPUB邮箱已经恢复 内容: ITPUB邮箱用户请注意,邮箱现在已经恢复 web访问地址 http://emai ...
  • 来自: 公共消息 标题: 3-5月ITPUB数据库 ... 内容: ITPUB与3月和5月分别安排了Oracle 11g DBA和Oracle性能优化培训,以及 ...

    标题: 求一亿条数据的更新方法
    离线 xcj311
    初级会员



    精华贴数 0
    个人空间 0
    技术积分 88 (21492)
    社区积分 0 (876629)
    注册日期 2006-4-13
    论坛徽章:0
          
          

    发表于 2009-6-26 11:50 
    求一亿条数据的更新方法

    现在有一事实表,表上按时间分区,总共有1亿多条,有几个分区较大,4000多万数据.现在需要update这个表中的其中4个列,当这几个列为空时更新为-1.我实在是担心这个更新的速度,各位有没有什么好的办法啊

    select count(1) from fact_sales;

    COUNT(1)               
    ----------------------
    111064378


    __________________
    fafdafdfad
    只看该作者    顶部
    离线 oracle_li
    一般会员



    精华贴数 0
    个人空间 0
    技术积分 687 (3387)
    社区积分 129 (3748)
    注册日期 2005-7-29
    论坛徽章:2
    2010新春纪念徽章ITPUB新首页上线纪念徽章    
          

    发表于 2009-6-26 11:57 
    弄个循环,批量更新,每1000条commit一次


    __________________
    http://tahiti.oracle.com/
    只看该作者    顶部
    离线 yueyangflash
    笑笑


    精华贴数 0
    个人空间 0
    技术积分 2011 (992)
    社区积分 232 (2701)
    注册日期 2008-11-26
    论坛徽章:23
    八级虎吧徽章2010新春纪念徽章2010新春纪念徽章数据库板块每日发贴之星数据库板块每日发贴之星生肖徽章2007版:龙
    ITPUB8周年纪念徽章生肖徽章2007版:猴生肖徽章2007版:蛇   

    发表于 2009-6-26 11:58 
    要更新的数据量有多大?就是为null的!


    只看该作者    顶部
    在线/呼叫 tom0732
    last


    精华贴数 0
    个人空间 0
    技术积分 1770 (1165)
    社区积分 11 (12645)
    注册日期 2005-8-24
    论坛徽章:34
    授权会员     
          

    发表于 2009-6-26 12:09 
    CATS


    只看该作者    顶部
    离线 howard_zhang
    鸡肋


    精华贴数 0
    个人空间 245
    技术积分 12760 (115)
    社区积分 86 (4614)
    注册日期 2006-9-15
    论坛徽章:51
    2010新春纪念徽章2010年世界杯参赛球队:阿尔及利亚生肖徽章2007版:狗祖国60周年纪念徽章ITPUB8周年纪念徽章 
          

    发表于 2009-6-26 12:14 
    写个过程批量提交,1W一提交


    __________________
    大风起兮云飞扬,
    威加海内兮归故乡,
    安得猛士兮守四方?
    只看该作者    顶部
    离线 xcj311
    初级会员



    精华贴数 0
    个人空间 0
    技术积分 88 (21492)
    社区积分 0 (876629)
    注册日期 2006-4-13
    论坛徽章:0
          
          

    发表于 2009-6-26 12:30 
    cats我也想过,不过最后还要在新表上建立索引这些,会不会太慢

    利用bulk 集合,limit限制数据,然后forall批量提交也想过,只是数据量这么大,并且要更新
    update sales set a=-1 where a is null
    update sales set b=-1 where b is null
    如果写成 update sales set a=-1,b=-1 where a is null or b is null 这样就不对了



    还有其他办法没有呢?

    [ 本帖最后由 xcj311 于 2009-6-26 12:41 编辑 ]


    __________________
    fafdafdfad
    只看该作者    顶部
    离线 zw81929
    月光无寒
    askoracle.com.cn


    来自 新疆
    精华贴数 0
    个人空间 0
    技术积分 466 (5002)
    社区积分 4 (22065)
    注册日期 2005-7-19
    论坛徽章:1
    2008新春纪念徽章     
          

    发表于 2009-6-26 12:37 
    1e条,本身就不可能很快完成,bulk可以试试


    __________________
    欢迎访问 www.askoracle.com.cn中国的ASKTOM  欢迎交换链接,欢迎高手入群,具体请见网站说明
    只看该作者    顶部
    离线 beiphiju
    中级会员



    精华贴数 0
    个人空间 0
    技术积分 1237 (1764)
    社区积分 84 (4672)
    注册日期 2005-9-14
    论坛徽章:4
    ITPUB元老授权会员2010新春纪念徽章ITPUB新首页上线纪念徽章  
          

    发表于 2009-6-26 12:38 
    forall每多少条更新提交可能会快一些吧!


    只看该作者    顶部
    离线 伊斯力
    Toad的头像真好看


    来自 天界
    精华贴数 0
    个人空间 36
    技术积分 2934 (640)
    社区积分 379 (2058)
    注册日期 2007-11-6
    论坛徽章:52
    2010新春纪念徽章祖国60周年纪念徽章佛罗伦萨生肖徽章2007版:马比利亚雷生肖徽章2007版:猴
    佛罗伦萨生肖徽章2007版:猪生肖徽章2007版:鸡切尔西国际米兰AC米兰

    发表于 2009-6-26 12:42 
    用fetch bulk    forall
    试试吧

    1e太多了


    __________________
    ***********************************************************************************
    一直以来我都在画一个圆,可是每次画一点,我都会半途而废.但是让人值得欣慰的是,过段时间我会回来接着画.虽然我还是会半途而废.但是我相信有一天我会把圆画好.
    半途而废并不可怕,可怕的是永远荒废.选择连上它,你才能继续走下去.
    有开始,就必须有结束

    ***********************************************************************************
    只看该作者    顶部
    离线 我上面有人
    柿油党常委


    精华贴数 1
    个人空间 0
    技术积分 10130 (155)
    社区积分 19 (9682)
    注册日期 2007-12-5
    论坛徽章:25
    数据库板块每日发贴之星数据库板块每日发贴之星数据库板块每日发贴之星2010新春纪念徽章2010年世界杯参赛球队:荷兰2010年世界杯参赛球队:南非
    2010新春纪念徽章2010年世界杯参赛球队:塞尔维亚生肖徽章2007版:蛇祖国60周年纪念徽章数据库板块每日发贴之星ITPUB8周年纪念徽章

    发表于 2009-6-26 12:43 
    非更新不可吗?coder脑子进水了?


    __________________
    生活就像被轮奸,如果你无力反抗,就闭上眼睛享受吧。没准还能高潮呢。

    coder只是我的表面工作,我的真实身份,其实是一个.....扫地的。
    只看该作者    顶部
    相关内容


    CopyRight 1999-2006 itpub.net All Right Reserved.
    北京皓辰网域网络信息技术有限公司. 版权所有
    E-mail:Webmaster@itpub.net
    网站律师 隐私政策 知识产权声明
    京ICP证:060528号 联系我们