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 線上手冊擷取更多資訊。
http://www.bkjia.com/PHPjc/631183.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631183.htmlTechArticleSELECT 語句中“加鎖選項”的功能說明 SQL Server提供了強大而完備的鎖機制來協助實現資料庫系統的並發性和高效能。使用者既能使用SQL Server的...