在一定时间如到一个月时,将数据库中的数据全部删除,由于此时数据量已经很大,有100万条左右,所以删除过程可能比较长(高手可以估计一下大概要多长时间);
在删除数据的同时,又有数据写入数据库。这两个过程会互相影响吗?删除的过程可以慢一点,但是写入的过程由于是实时性要求较高,所以最好不受影响。
怎么样做,才可以比较好的处理这个问题(删除地同时写入数据)?

解决方案 »

  1.   

    会等待执行,删除完成后才执行INSERT 
      

  2.   

    楼上说的锁,就是在insert的时候,锁住数据库,让删除的功能不能执行?
    具体的SQL语句如何写?
      

  3.   

    我想应该不会 因为删除数据库中表的数据应该也属于写操作 也就是说DBMS会给操作对象加X锁,这样其他的德任何事务都不应该对其有操作权限,不过我建议在存储过程中删除和插入操作都加上事务也就是begin tran之类的有回滚操作的事务
      

  4.   

    例如:
     begin tran
      insert into A(其中字段) select * from B  /*假设A和B的表结构完全相同*/
      if(@@error<>0) goto on_error
      commit tran
      return(0)on_error:
     rollback tran
     return(-1)
    go