程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 帶您了解DB2鎖的類型

帶您了解DB2鎖的類型

編輯:DB2教程

DB2鎖的類型都有哪些呢?這是很多人都提到過的問題,下面就為您詳細解讀DB2鎖的類型,希望對您學習DB2鎖方面能有所幫助。

鎖狀態確定了對鎖的所有者允許的訪問類型,以及對鎖定數據資源的並發用戶許可的訪問類型。下面的列表說明了可用的鎖狀態,按照遞增控制排序:

鎖狀態(模式):  意向無(Intent None,IN)  
適用對象:  表空間和表  
描述:  鎖的擁有者可以讀取鎖定表中的數據(包括未提交數據),但不能更改這些數據。在這種模式中,鎖的擁有者不獲取行級別的鎖;因此,其它並發應用程序可以讀取和更改表中的數據。 

鎖狀態(模式):  意向共享(Intent Share,IS)  
適用對象:  表空間和表  
描述:  鎖的擁有者可以讀取鎖定表中的數據,但不能更改這些數據。同樣,因為鎖的擁有者不獲取行級別鎖;所以,其它並發的應用程序仍可以讀取和更改表中的數據。(當事務擁有表上的意向共享鎖時,就在它所讀取的每個行上進行共享鎖定。)當事務不傳達更新表中行的意圖時,就獲取這種鎖。 

鎖狀態(模式):  下一鍵共享(Next Key Share,NS)  
適用對象:  行  
描述:  鎖擁有者和所有並發的事務都可以讀(但不能更改)鎖定行中的數據。這種鎖用來在使用“讀穩定性”或“游標穩定性”事務隔離級別讀取的數據上代替共享鎖。 

鎖狀態(模式):  共享(S)  
適用對象:  表和行  
描述:  鎖擁有者和任何其它並發的事務都可以讀(但不能更改)鎖定的表或行中的數據。只要表不是使用共享鎖鎖定的,那麼該表中的單個行可以使用共享鎖鎖定。但是,如果表是用共享鎖定的,則鎖擁有者不能在該表中獲取行級別的共享鎖。如果表或行是用共享鎖鎖定的,則其它並發事務可以讀取數據,但不能對它進行更改。 

鎖狀態(模式):  意向互斥(Intent Exclusive,IX)  
適用對象:  表空間和表  
描述:  鎖擁有者和任何其它並發的應用程序都可以讀取和更改被鎖定表中的數據。當鎖擁有者從表讀取數據時,它在所讀取的每一行上獲取一個共享鎖,而在它更新的每一行上獲取更新和互斥鎖。其它並發的應用程序可以讀取和更新鎖定的表。當事務傳達更新表中行的意圖時,就獲取這種鎖。(SELECT FOR UPDATE、UPDATE ... WHERE 和 INSERT 語句傳達更新的意圖。) 

鎖狀態(模式):  帶意向互斥的共享(Share With Intent Exclusive,SIX)  
適用對象:  表  
描述:  鎖擁有者可以讀取和更改被鎖定表中的數據。鎖擁有者在它更新的行上獲取互斥鎖,但不獲取它讀取的行上的鎖;因此,其它並發的應用程序可以讀取但不能更新被鎖定表中的數據。 

鎖狀態(模式):  更新(Update,U)  
適用對象:  表和行  
描述:  鎖的擁有者可以更新被鎖定表中的數據,並且鎖的擁有者在它所更新的任何行上自動獲得互斥鎖。其它並發的應用程序可以但不能更新被鎖定表中的數據。 

鎖狀態(模式):  下一鍵互斥(Next Key Exclusive,NX)  
適用對象:  行  
描述:  鎖的擁有者可以讀取但不能更新被鎖定的行。當在表的索引中插入或刪除行時,表中的下一行上將獲得這種鎖。 

鎖狀態(模式):  下一鍵弱互斥(Next Key Weak Exclusive,NW)  
適用對象:  行  
描述:  鎖的擁有者可以讀取但不能更新被鎖定的行。當向非目錄表的索引插入行時,表中下一行上就獲得這種鎖。 

鎖狀態(模式):  互斥(Exclusive,X)  
適用對象:  表和行  
描述:  鎖的擁有者可以讀取和更改被鎖定的表或行中的數據。如果獲取了互斥鎖,則只允許使用“未提交的讀”隔離級別的應用程序訪問被鎖定的表或行(多行)。對於用 INSERT、UPDATE 和/或 DELETE 語句操作的數據資源,將獲取互斥鎖。 

鎖狀態(模式):  弱互斥(Weak Exclusive,WE)  
適用對象:  行  
描述:  鎖的擁有者可以讀取和更改被鎖定的行。當向非目錄表中插入行時,該行上將獲得這種鎖。 

鎖狀態(模式):  超級互斥(Super Exclusive,Z)  
適用對象:  表空間和表  
描述:  鎖的擁有者可以更改表、刪除表、創建索引或刪除索引。當事務嘗試執行上述任何一種操作時,表上就自動獲得這種鎖。在除去這個鎖之前,不允許其它並發事務讀取或更新該表。 

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