现描述如下:
表A中 扩展Status字段,其中表A中有百万条数据记录alter table A add Status int default 0增加字段Status后,需要对A进行更新数值!
Update A Set Status=1;对于新增的记录还是采用默认值为 0花费的时间在1个时间左右!各位兄弟,看看有没有更好的办法!最好百万条记录能够在10分钟之内完成!谢谢了!

解决方案 »

  1.   

    联系方式:
    MSN:[email protected]
    skype:proadvancer
      

  2.   

    Update A Set Status=1 一个小时?
      

  3.   

    帅啊,一个update用了一个小时
      

  4.   

    1、如果Status 只兩種狀態,則建議用bit類型
    alter table hb_Doc add Status bit not null default 12、可以先采用默認值為1把字段加上去,然后再將默認值改為0,試試看
      

  5.   

    表中Status只有两种状态 0或者1,其它状态没有!建立索引的话,初次更新字段status也是表查询也是走的全扫描呀!如果重新建表的话,需要导出的数据记录有3,000,000以上的记录!现场可能不允许呀!初次更新是所有的记录,只能update A Set Status=1!
      

  6.   

    Oracle 里面可以采用分批次进行提交呀!每5000条记录进行提交,如果3,000,000条记录一起提交的话,速度是相当慢的了!
      

  7.   

    不要更新了,NULL 和  1都当1用算了
      

  8.   

    看一下是:status=1的多还是等于0的多.如果是1的多,建表的时候 默认为1..
      

  9.   

    sp_help   表名   
      得到有默认值的列lastname对应的约束名   如DF__s1__lastname__1920BF5C   
      然后删除   
      alter   table   表名   drop   CONSTRAINT     DF__s1__lastname__1920BF5C   
      修改   
      ALTER   TABLE   s1   ADD   CONSTRAINT   
      DF__s1__lastname__1920BF5C   DEFAULT   'nukown1'   FOR   lastname   SqlServer不能删除更心默认值,只能删除后约束,再重新创建!