openGauss 外键锁增强
新增两类行锁,由share和update锁扩展到key share、share、no key update和update。非主键的更新获取的是no key update锁,外键触发器获取的行锁为key share锁,这两种类型的锁互不冲突,以此提升了外键锁的并发性。
·
外键锁增强
可获得性
本特性自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表
依赖关系
无
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)