前几天一位同事告诉我,如果您不在 NOLOCK
中包含查询,则在 cfquery
中使用 cftransaction
是毫无意义的。他声称 SQL Server 只会识别事务中的 NOLOCK
,因此在 cftransaction
中没有查询会使 NOLOCK
变得多余。
有人可以确认这是真的还是假的,因为在我工作过的所有 CF 商店中,NOLOCK
被大量使用,并且它很少出现在 cftransaction
中。我是否应该认为所有这些商店中的所有查询实际上都没有尊重 NOLOCK
?
最佳答案
你的同事不正确, NOLOCK
在上下文 cftransaction
之外不是多余的。
如果您在 SQL Server 中使用默认设置,则您执行的每个查询都包含在一个事务中,无论您是否明确键入它。这称为“autocommit mode”。
关于sql-server - NOLOCK 和 Coldfusion,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7395903/