表中有50多个字段 
其中id 和orderguid(订单编号)是联合主键 
orderguid设置了非聚集索引id自动增长不会重复 int型
orderguid会有重复数据 但是不多(最多10条) varchar型数据有300百万条我现在需要根据orderguid来update数据 有什么好的办法 
我用监视器查看update的情况 cpu 和 reads 都很高 请教高手了。。
语句:
     update  dbo.tbl_TicketBuy   set Pay_Account=@Pay_Account, User_PayId=@User_PayId, Balance_payments=@Balance_payments, Funds=@Funds,Ticket_status=@Ticket_status,Pay_Company=@Pay_Company,UserGuid=@UserGuid,gy_sxf=@gy_sxf,IsPayOK  =@IsPayOK
   where Orderguid=@NewOrderGuid  

解决方案 »

  1.   

    用循環更新set rowcount 100
    update  dbo.tbl_TicketBuy  set Pay_Account=@Pay_Account, User_PayId=@User_PayId, Balance_payments=@Balance_payments, Funds=@Funds,Ticket_status=@Ticket_status,Pay_Company=@Pay_Company,UserGuid=@UserGuid,gy_sxf=@gy_sxf,IsPayOK  =@IsPayOK
      where Orderguid=@NewOrderGuid  while @@rowcount>0
    update  dbo.tbl_TicketBuy  set Pay_Account=@Pay_Account, User_PayId=@User_PayId, Balance_payments=@Balance_payments, Funds=@Funds,Ticket_status=@Ticket_status,Pay_Company=@Pay_Company,UserGuid=@UserGuid,gy_sxf=@gy_sxf,IsPayOK  =@IsPayOK
      where Orderguid=@NewOrderGuid