有人可以解释使用with (nolock)查询的含义,什么时候应该/不应该使用它?
with (nolock)
例如,如果您的银行应用程序具有高交易率并且某些表中有大量数据,那么在哪些类型的查询中可以使用 nolock?是否存在您应该始终使用它/从不使用它的情况?
WITH (NOLOCK) 相当于使用 READ UNCOMMITED 作为事务隔离级别。因此,您将面临读取随后回滚的未提交行的风险,即从未进入数据库的数据。因此,虽然它可以防止读取被其他操作死锁,但它带来了风险。在具有高交易率的银行应用程序中,它可能不会成为您试图用它解决的任何问题的正确解决方案,恕我直言。