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

首頁 > 數據庫 > SQL Server > 正文

sqlserver 鎖表語句分享

2024-08-31 00:45:10
字體:
來源:轉載
供稿:網友
鎖定數據庫的一個表

SELECT * FROM table WITH (HOLDLOCK)

注意: 鎖定數據庫的一個表的區別

SELECT * FROM table WITH (HOLDLOCK)

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

SELECT * FROM table WITH (TABLOCKX)

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

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 將在整個表上置排它鎖直至該命令或事務結束。這將防止其他進程讀取或修改表中的數據。



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

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

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

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

  ROWLOCK 強制使用行鎖

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

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

注意: 鎖定數據庫的一個表的區別

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

  SELECT * FROM table WITH (TABLOCKX) 其他事務不能讀取表,更新和刪
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兰溪市| 阜康市| 喀喇沁旗| 宁南县| 迁西县| 商洛市| 开平市| 庄浪县| 方山县| 麻城市| 绿春县| 读书| 江城| 新和县| 华池县| 合肥市| 拜泉县| 侯马市| 建宁县| 吐鲁番市| 秦安县| 高安市| 仪陇县| 石景山区| 桓台县| 环江| 新干县| 罗甸县| 陈巴尔虎旗| 黄骅市| 方正县| 柯坪县| 武穴市| 航空| 田阳县| 蚌埠市| 龙江县| 阜宁县| 新田县| 汾阳市| 湖州市|