有个表,数据大概270多万,库是别人给的,由于里面的数据不规范,所以字段类型基本都是nvarchar(100)
现在我要把数据读出来然后写成excel,每次读1000行,然后放到ds里,由于我要知道那些我已经转了,哪些没转,所以我在表里加了个字段int1
当这行写完时,我就把int1置为1,我每次读数据都加了条件 where int1=0 
在执行把int1置为1这个操作时,速度非常非常慢,我知道是因为表结构不合理造成的,现在表肯定是改不了了,还有什么办法可以快一些?

解决方案 »

  1.   

    把int1设置为PK(主键),其他字段都建立索引,速度绝对可以提高很多倍了,不是一点点!
      

  2.   

    SSIS做吧不过Excel2003对行数是有限制的,65000多Excel2007好像是100W条记录
      

  3.   

    恩,我是分文件的,循环写,每次只写1000条,然后建新文件
    我试下SSIS
      

  4.   

    新建个int类型的主键字段,如mid  [int] IDENTITY (1, 1) NOT NULL 
    ,设为标识,自动增长。用如下SQL更新:
      update 表 set int1=1 where mid=当前行主键值
      

  5.   

    不在本表操作了,新建个表,字段ID,主键,每写一个,往新表里插一条数据,取数据时选择ID不在新表中的,速度快很多,结了