簡體   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