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

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

SQL Server三種鎖定模式的知識講解

2024-08-31 01:05:30
字體:
來源:轉載
供稿:網友

sql server 鎖定模式有三種:共享( S鎖),更新(U鎖),排他(X鎖);

S鎖是共享鎖,如果事務T對數據A加上共享鎖后,則其他事務只能對A再加共享鎖,不能加排他鎖。獲準共享鎖的事務只能讀數據,不能修改數據。

個人理解為,對數據A的操作就只能是SELECT ,(聯想下,S鎖,不就是Select的首字母么),其他事務對A數據的UPDATE ,DELETE都不能進行;

U鎖是更新鎖。用于可更新的資源中。防止當多個會話在讀取、鎖定以及隨后可能進行的資源更新時發生常見形式的死鎖。

原理解釋:

更新鎖

更新 (U) 鎖可以防止通常形式的死鎖。一般更新模式由一個事務組成,此事務讀取記錄,獲取資源(頁或行)的共享 (S) 鎖,然后修改行,此操作要求鎖轉換為排它 (X) 鎖。

如果兩個事務獲得了資源上的共享模式鎖,然后試圖同時更新數據,則一個事務嘗試將鎖轉換為排它 (X) 鎖。

共享模式到排它鎖的轉換必須等待一段時間,因為一個事務的排它鎖與其它事務的共享模式鎖不兼容;發生鎖等待。

第二個事務試圖獲取排它 (X) 鎖以進行更新。

由于兩個事務都要轉換為排它 (X) 鎖,并且每個事務都等待另一個事務釋放共享模式鎖,因此發生死鎖。

若要避免這種潛在的死鎖問題,請使用更新 (U) 鎖。一次只有一個事務可以獲得資源的更新 (U) 鎖。

如果事務修改資源,則更新 (U) 鎖轉換為排它 (X) 鎖。否則,鎖轉換為共享鎖。

個人理解,打個比方,A,B都拿把槍指著對方說:”我等你放下槍我就放下槍“,大家都等對方放下槍,于是就這么死僵持著......

X鎖是排他鎖,也叫獨占鎖,事務對A資源的insert ,update ,delete要用獨占,不然的話亂套了;這是為了保護數據再一次操作中的準確性;

個人理解就是,一次一個....

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汤原县| 五峰| 大邑县| 东兰县| 通渭县| 南平市| 彰化市| 灌云县| 福建省| 许昌县| 丹阳市| 三河市| 额尔古纳市| 珠海市| 惠来县| 泸州市| 郯城县| 古田县| 武强县| 芒康县| 筠连县| 利川市| 溧水县| 精河县| 南京市| 衡阳市| 苍山县| 永定县| 灌南县| 五莲县| 明水县| 凤凰县| 宜良县| 吴忠市| 泸水县| 石渠县| 且末县| 杭锦后旗| 彭水| 独山县| 定日县|