SQL SERVER,用(TABLOCKX)选择查询比用(NOLOCK)更快,反之亦然?

时间:2016-11-18 08:54:04

标签: sql-server tsql locking nolock

我有上述问题。我们正在通过应用程序使用nolock。在某些情况下,我需要更快地选择工作,效果如何。

所以用(TABLOCKX)选择会更快还是用(nolock)?

2 个答案:

答案 0 :(得分:1)

要回答您的问题,with (nolock)表格提示会更快。

NOLOCK通常(取决于您的数据库引擎)意味着向我提供您的数据,而我并不关心它处于什么状态,并且在您阅读它时不要打扰它。它一下子变得更快,资源更少,而且非常危险。

正如在NoLock

中所解释的那样

答案 1 :(得分:0)

Nolock意味着你可以读取一些锁定的行(带有共享锁)。但你还是要等其他锁。

Tablockx意味着你用其他查询的独占锁来阻止整个表 - 其他会话无法生成锁,阻止整个表后就无法阻塞。 Tablockx主要用于快速插入。

避免在任何地方使用nolock。尽量避免使用较长时间的独占锁定或尽量减少阻塞,然后你就不需要使用nolocks。