如何划分我的交易

时间:2010-12-17 13:15:50

标签: sql-server-2008

我有一个存储过程,删除了几百万条记录,然后重新插入更改的记录。

现在我已经组织了我的交易:

begin tran - delete records - commit tran
begin tran - insert records - commit tran

我想知道以下是否可能不会更快:

begin tran - delete records - insert records - commit tran

因为它可能会认识到新记录可以代替旧记录,因此更快?

1 个答案:

答案 0 :(得分:0)

事务边界应该基于您正在做的事情的逻辑。在第一种情况下,您可能会使数据库处于删除旧记录但未插入新记录的状态。这可以接受吗?你能恢复吗?如果没有,那么你应该使用第二种情况。