程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SELECT語句中“加鎖選項”功能說明

SELECT語句中“加鎖選項”功能說明

編輯:關於SqlServer

SELECT 語句中“加鎖選項”的功能說明

SQL Server提供了強大而完備的鎖機制來幫助實現數據庫系統的並發性和高性能。用戶既能使用SQL Server的缺省設置也可以在select 語句中使用“加鎖選項”來實現預期的效果。 本文介紹了SELECT語句中的各項“加鎖選項”以及相應的功能說明。

功能說明: 

NOLOCK(不加鎖)

此選項被選中時,SQL Server 在讀取或修改數據時不加任何鎖。 在這種情況下,用戶有可能讀取到未完成事務(Uncommited Transaction)或回滾(Roll Back)中的數據, 即所謂的“髒數據”。

HOLDLOCK(保持鎖)

此選項被選中時,SQL Server 會將此共享鎖保持至整個事務結束,而不會在途中釋放。

UPDLOCK(修改鎖)

此選項被選中時,SQL Server 在讀取數據時使用修改鎖來代替共享鎖,並將此鎖保持至整個事務或命令結束。使用此選項能夠保證多個進程能同時讀取數據但只有該進程能修改數據。

TABLOCK(表鎖)

此選項被選中時,SQL Server 將在整個表上置共享鎖直至該命令結束。 這個選項保證其他進程只能讀取而不能修改數據。

PAGLOCK(頁鎖)

此選項為默認選項, 當被選中時,SQL Server 使用共享頁鎖。

TABLOCKX(排它表鎖)

此選項被選中時,SQL Server 將在整個表上置排它鎖直至該命令或事務結束。這將防止其他進程讀取或修改表中的數據。

使用這些選項將使系統忽略原先在SET語句設定的事務隔離級別(Transaction Isolation Level)。 請查閱SQL Server 聯機手冊獲取更多信息。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved