我有一个存储过程,删除了几百万条记录,然后重新插入更改的记录。
现在我已经组织了我的交易:
begin tran - delete records - commit tran
begin tran - insert records - commit tran
我想知道以下是否可能不会更快:
begin tran - delete records - insert records - commit tran
因为它可能会认识到新记录可以代替旧记录,因此更快?
答案 0 :(得分:0)
事务边界应该基于您正在做的事情的逻辑。在第一种情况下,您可能会使数据库处于删除旧记录但未插入新记录的状态。这可以接受吗?你能恢复吗?如果没有,那么你应该使用第二种情况。