正在做sql server 2000数据库开发,数据库记录数很多,多达千万条,重复的也很多,用group by写了一条去重的语句,delete from table where (id not in (select min(id) from table group by 字段1))
用查询分析器执行要2个多小时可以执行成功,但是用企业管理器执行总是报超时,登陆时间和查询时间都设置过了,似乎没什么关系,哪位高手知道是什么问题啊!还有一个问题,基于ADO的vc编程,同样输入上面的那条语句,也报超时,谢谢了

解决方案 »

  1.   

    用到in , not in的查询是快不起来的.
      

  2.   

    vc那边解决了,通过connectiontimeout和commandtimmeout设定时间为0,没有出现超时的问题,加索引应该可以加快查询速度,2楼的那位,请问有什么好的建议没,不使用in和not in,对于企业管理器出现超时,而查询分析器不出现的问题,仍然很纳闷,还没有解决
      

  3.   

    delete  K
    from table K
    where id <>(select min(id) from table where k.字段1=字段1)
      

  4.   

    这样也快 
    delete  K
    from table K
    where exists (select * from table where k.字段1=字段1 and k.id>id)