update VALUES_ias set year_year_rate='1' 
where id='1'
update VALUES_ias set year_year_rate='2' 
where id='2'
如上格式,year_year_rate 和id都是不固定的,共有5W数据,怎么做效率比较高!谢谢 !

解决方案 »

  1.   

    用OCI吧  比ADO快多了  曾经测试过  单个连接可达到每秒存放100+byte的数据500+条以上。
      

  2.   

    id和year_year_rate
    有什么规律吗?
      

  3.   

    update VALUES_ias i set year_year_rate = (
       select 
              case
              when  id = 1 then 1
              when   id = 2 then 2
              end
       from VALUES_ias v where v.id = i.id );
      

  4.   

    你是想同时执行5w这样的update?
    但是id一点规律都没有?
    那你id的值从哪来?要更新的year_year_rate 又从哪里?
      

  5.   

    5万的数据不多,你可以把你的excel做成一张数据的外部表,在数据库里直接做关联做update操作就行了,。
      

  6.   

    -- 你是想用 Excel文件里面的值去更新表中的数据?-- 方法:将 Excel文件中的数据导入一个临时使用的表(新创建一个暂用表)
    -- 然后用暂用表关联目标表去更新,
    -- 最后删除暂用表!-- 搞定!
      

  7.   

    这里有详细的例子
    http://apps.hi.baidu.com/share/detail/17037186
      

  8.   

    你先建个表 将excel里的数据导入表里(可以通过plsql developer)
    然后通过关联修改过
      

  9.   


    如果格式比较固定,不如直接把excel存成csv文件,
    然后使用ultraedit的列编辑功能,直接 编辑成一个包含N条update的sql语句,然后一次执行。
      

  10.   

    才5万个而已,有什么效率不效率的,直接在EXCEL里基于那2个值扩展成完整的update语句,另存成txt文件,然后在SQLPLUS里直接执行这txt文件不就行了。
      

  11.   


    见笑了,我是新手, 还望您可以详细的说一下如何直接在EXCEL里基于那2个值扩展成完整的update语句
      

  12.   

    非常谢谢各位,直接在EXCEL里基于那2个值扩展成完整的update语句,OK了, 1000条一commit,还是有点慢,呵呵,慢慢执行吧..谢谢 !