当前位置:网站首页>PG基础篇--逻辑结构管理(锁机制--表锁)
PG基础篇--逻辑结构管理(锁机制--表锁)
2022-07-07 12:43:00 【51CTO】
pg的锁有两类,表级锁和行级锁。
表级锁
表级锁分类
ACCESS SHARE | 只读表不修改表申请该锁模式 | |
ROW SHARE | select for update 和select for share 申请该锁模式 | |
ROW EXCLUSIVE | DML申请该锁模式 | |
SHARE UPDATE EXCLUSIVE | VACUUM、ANALYZE、CREATE INDEX CONCURRENTLY申请该锁模式 | |
SHARE | create index 申请该锁模式 | |
SHARE ROW EXCLUSIVE | 不会主动申请 | |
EXCLUSIVE | 不会主动申请 | |
ACCESS EXCLUSIVE | alter table ,drop table,truncate,reindex ,vacuum full 申请该模式的锁 | |
表级锁概述
表级锁只有share和EXCLUSIVE两种,也就是读和写锁,share读锁加上后不能修改表,加锁exclusive写锁后不能读也不能写,但是在多版本功能后,修改某一行数据,实际上并没有改变原来那一行,而是另复制了一行数据,修改在新行上进行,事务不提交,别人是看不到修改行的,就没有必要阻塞其他用户读数据了。
在多版本功能下,ACCESS share 表明加上这个锁,即使是正在修改数据的情况下,也允许读数据,另一个锁ACCESS EXCLUSIVE 即使多版本功能,也不允许访问数据。
意向锁
表级锁的锁粒度太大,出现了行级锁,mysql获得行锁之前需要获取意向锁,pg中类似mysql也有ROW_SHARE 和ROW_EXCLUSIVE锁。
意向锁之间不会冲突,意向锁和非意向锁的冲突兼容关系和普通锁之间关系一样。可以简单转换为X和S,在比较是否兼容。
SHARE UPDATE EXCLUSIVE
就是把IX锁之间的不兼容变为更严格的一种锁,针对不带FULL的VACUUM,CREATE INDEX CONCURRENTLY都会申请该锁。
SHAER ROW EXCLUSIVE
等同于加了S锁和IX锁
表锁总结
PG中共8种锁,共享锁SHARE 和排它锁EXCLUSIVE ,因为多版本的原因修改数据的同事允许读数据,于是有了ACCESS SHARE和ACCESS EXCLUSIVE锁。
为了处理表锁和行锁之间的关系,欧了意向锁的概念,ROW_SHARE 和ROW_EXCLUSIVE锁,但是意向锁之间不会冲突,为了更严格,出现了SHARE
UPDATE EXCLUSIVE和 SHARE ROW EXCLUSIVE锁。
边栏推荐
- 多商戶商城系統功能拆解01講-產品架構
- Because the employee set the password to "123456", amd stolen 450gb data?
- Applet directory structure
- 今日睡眠质量记录78分
- UML state diagram
- Huawei cloud database DDS products are deeply enabled
- Arm cortex-a9, mcimx6u7cvm08ad processor application
- 6、Electron无边框窗口和透明窗口 锁定模式 设置窗口图标
- Reading and understanding of eventbus source code
- 潘多拉 IOT 开发板学习(HAL 库)—— 实验12 RTC实时时钟实验(学习笔记)
猜你喜欢

潘多拉 IOT 开发板学习(HAL 库)—— 实验12 RTC实时时钟实验(学习笔记)

今日睡眠质量记录78分

Data connection mode in low code platform (Part 2)

电脑Win7系统桌面图标太大怎么调小

KITTI数据集简介与使用

LeetCode每日一题(636. Exclusive Time of Functions)

Navigation — 这么好用的导航框架你确定不来看看?

Vscode configuration uses pylint syntax checker

Huawei cloud database DDS products are deeply enabled

Wechat applet - Advanced chapter component packaging - Implementation of icon component (I)
随机推荐
Multi merchant mall system function disassembly lecture 01 - Product Architecture
Introduction to sakt method
Summary on adding content of background dynamic template builder usage
PLC:自动纠正数据集噪声,来洗洗数据集吧 | ICLR 2021 Spotlight
Use case diagram
多商户商城系统功能拆解01讲-产品架构
OAuth 2.0 + JWT 保护API安全
Full details of efficientnet model
Cvpr2022 | backdoor attack based on frequency injection in medical image analysis
低代码平台中的数据连接方式(下)
Cascading update with Oracle trigger
Applet directory structure
MRS离线数据分析:通过Flink作业处理OBS数据
Beginner JSP
Mmkv use and principle
Navigation - are you sure you want to take a look at such an easy-to-use navigation framework?
C# 6.0 语言规范获批
拼多多败诉,砍价始终差0.9%一案宣判;微信内测同一手机号可注册两个账号功能;2022年度菲尔兹奖公布|极客头条...
Hangdian oj2092 integer solution
Search engine interface