国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

sqlserver2008鎖表語句詳解(鎖定數(shù)據(jù)庫一個表)

2024-08-31 01:01:49
字體:
來源:轉載
供稿:網(wǎng)友

鎖定數(shù)據(jù)庫的一個表

復制代碼 代碼如下:


SELECT * FROM table WITH (HOLDLOCK)


注意: 鎖定數(shù)據(jù)庫的一個表的區(qū)別

復制代碼 代碼如下:


SELECT * FROM table WITH (HOLDLOCK)



其他事務可以讀取表,但不能更新刪除

復制代碼 代碼如下:


SELECT * FROM table WITH (TABLOCKX)



其他事務不能讀取表,更新和刪除

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

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

功能說明: 

NOLOCK(不加鎖)

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

HOLDLOCK(保持鎖)

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

UPDLOCK(修改鎖)

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

TABLOCK(表鎖)

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

PAGLOCK(頁鎖)

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

TABLOCKX(排它表鎖)

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

HOLDLOCK 持有共享鎖,直到整個事務完成,應該在被鎖對象不需要時立即釋放,等于SERIALIZABLE事務隔離級別

NOLOCK 語句執(zhí)行時不發(fā)出共享鎖,允許臟讀 ,等于 READ UNCOMMITTED事務隔離級別

PAGLOCK 在使用一個表鎖的地方用多個頁鎖

READPAST 讓sql server跳過任何鎖定行,執(zhí)行事務,適用于READ UNCOMMITTED事務隔離級別只跳過RID鎖,不跳過頁,區(qū)域和表鎖

ROWLOCK 強制使用行鎖

TABLOCKX 強制使用獨占表級鎖,這個鎖在事務期間阻止任何其他事務使用這個表

UPLOCK 強制在讀表時使用更新而不用共享鎖

注意: 鎖定數(shù)據(jù)庫的一個表的區(qū)別

復制代碼 代碼如下:


SELECT * FROM table WITH (HOLDLOCK) 其他事務可以讀取表,但不能更新刪除

SELECT * FROM table WITH (TABLOCKX) 其他事務不能讀取表,更新和刪除

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 肇东市| 毕节市| 湘潭县| 西昌市| 黄大仙区| 大埔区| 汤阴县| 萍乡市| 定兴县| 襄垣县| 若羌县| 鞍山市| 桐庐县| 呈贡县| 诸城市| 治县。| 鲁山县| 临湘市| 黄浦区| 佛山市| 泰州市| 阜阳市| 石阡县| 时尚| 大名县| 峡江县| 乐业县| 凌海市| 南开区| 冀州市| 石楼县| 襄汾县| 呼伦贝尔市| 建德市| 宁强县| 万安县| 瑞金市| 南召县| 嘉禾县| 衡水市| 华阴市|