有时,我想运行一个存储过程来粗略估计两个或三个不同表中有多少记录满足某些条件。如果在此估计期间添加、删除或更新了新记录,则没有真正的问题(我只是想要一个粗略的估计)。也就是说,我可以负担得起使用SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
. 但是,我对此有两个问题:
1)由于我只使用SELECT COUNT(*)
指令,我真的需要将这些语句包装在一个BEGIN/COMMIT TRANSACTION
块中吗?
2)我需要在存储过程SET TRANSACTION ISOLATION LEVEL READ COMMITTED
结束时返回,还是在执行结束后自动设置?