持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第27天,点击查看活动详情
生命不息,学习不止
题外话
人类优于其他物种的一个重要方面是人类学会了思考,所以说在人类的进化道路上,思考是举足轻重的,为了防止大家小脑袋瓜锈住,我打算每天出一道题让大家好好的思考一下。
每日一题:我们曾经都希望有后悔药帮助我们抹平一些遗憾,可如果我发明了后悔药,然后我后悔发明了后悔要,于是我吃下了后悔药去后悔发名后悔药,那么后悔药还会有效果嘛?
废话不多说,上货!
正文
上回说了常用的达梦数据库手动上锁的锁级别已经手动上锁声明语句,今天来说说达梦数据库的锁类型。
锁类型
上节说了达梦数据库手动上锁的定义语句如下:
LOCK TABLE table_name IN lock_type MODE (NOWAIT);
其中lock_type如下:
INTENT SHARE
ROW SHARE
SHARE UPDATE
INTENT EXCLUSIVE
ROW EXCLUSIVE
SHARE
EXCLUSIVE
SHARE INTENT EXCLUSIVE
SHARE ROW EXCLUSIVE
INTENT SHARE、ROW SHARE、SHARE UPDATE 均属于意向共享锁(IS),并发时支持其他事务对该表进行插入(INTENT SHARE),修改(SHARE UPDATE),查询,删除等操作
INTENT EXCLUSIVE、ROW EXCLUSIVE 均属于意向排他锁(IX),并发时禁止其他事务对该表进行插入(INTENT SHARE),修改(SHARE UPDATE),查询,删除等操作
SHARE 则属于共享锁(S),并发时只允许其他事务查询数控,却不能做任何更新类操作
EXCLUSIVE 则属于排他锁(X),锁级别最高,并发时不允许其他事务任何操作,查询也不行
SHARE INTENT EXCLUSIVE、SHARE ROW EXCLUSIVE 则属于组合锁共享意向排他锁(S+IX),并发时允许其它事务在该表上执行查询操作,或者在该表上执行意向共享锁(IS)封锁。
下一篇我们继续讲达梦数据库触发器以及触发器的使用。
大家看完发现有什么错误,写在下面吧!跟我黑虎阿福比划比划!