繁体   English   中英

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

[英]SQL SERVER, will select query with (TABLOCKX) faster than with(NOLOCK) or vice versa?

我对以上问题有疑问。 我们在整个应用程序中使用nolock。 在某些情况下,无论效果如何,我都需要更快地选择。

所以select with(TABLOCKX)会更快或with(nolock)吗?

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

通常,NOLOCK(取决于您的数据库引擎)意味着将您的数据提供给我,并且我不在乎它处于什么状态,并且在您读取数据时也不会保持它静止不动。 它的速度更快,资源占用更少,非常危险。

正如这里很好解释的

Nolock表示您可以读取一些锁定的行(带有共享锁)。 但是您仍然必须等待其他锁。

Tablockx意味着您用排他锁来阻塞整个表以用于其他查询-其他会话无法进行锁定,阻塞整个表后也无法阻塞。 Tablockx主要用于快速插入。

避免在任何地方使用nolock。 尝试避免排他锁定更长的时间,或者尝试最小化阻塞,然后就不需要nolock。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM