[英]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.