想在运行表每条数据删除的时候插入历史表是在运行表中做删除触发器好?还是在程序中调用存储过程好?同时有10个表 历史表中数据量较大 运行表的数据量较小数据量大 并发执行的高

解决方案 »

  1.   

    强烈建议不要用trigger:这个东西往往是你做的人知道有这个东西存在,维护人的往往不清楚有这个业务逻辑,有时候为了维护什么的,删除表再重建一下表的之后,这个事情可能就被忘了,那麻烦就大了,而写在自己的程序逻辑里就不会,谁看程序的时候都是一目了然同时,trigger的并发性性能不是很好。
      

  2.   


    请说个不寄强的。我再加个理由,如果不用存储过程,一旦你数据insert到历史表不成功,新表的数据在trigger中是无法回滚的,这样,你的历史表就会少一条数据了。