openGauss- 外來鍵鎖增強
可獲得性
本特性自openGauss 3.0.0版本開始引入。
特性簡介
新增兩類行鎖,由share和update鎖擴充套件到key share、share、no key update和update。非主鍵的更新獲取的是no key update鎖,外來鍵觸發器獲取的行鎖為key share鎖,這兩種型別的鎖互不衝突,以此提升了外來鍵鎖的併發性。
客戶價值
絕大多數的表更新操作為非主鍵的更新,該特性有效地減少了有外來鍵約束的場景下多併發更新的阻塞,提升效率。
特性描述
當對父表一行元組的非主鍵列進行更新時,獲取no key update鎖;對子表對應元組的更新或插入,觸發外來鍵觸發器,獲取父表元組的key share鎖。兩者互不阻塞。
由於增加了互不衝突的行鎖,多事務不再只由share鎖組成,而有多種不同行鎖的組合方式,依據如下的衝突表。
特性增強
無。
特性約束
- 新增的行鎖暫不支援ustore表
依賴關係
無
詳情檢視:https://opengauss.org
詳情檢視:https://docs-opengauss.osinfra.cn