pgAdmin4 应用(十)

匿名 (未验证) 提交于 2019-12-03 00:19:01

事务处理和并发控制

一、事务管理简介

1、事务含义




2、事务的属性ACID

四大属性:原子性、一致性、隔离性、持久性。

3、事务块管理的常用语句


BEGIN 和COMMIT同时用,是用来标识事务的开始和结束。

4、案例

①、创建表

②、插入数据并查询



二、事务并发控制

数据库中的数据并发操作经常发生,会出现:

1、脏读

2、幻读

3、不可重复性读取

三、锁机制

需要使用锁机制来保证事务的并发。使用锁可以解决用户存取数据的这个问题,从而保证数据库的完整性和一致性。

(一)、锁的类型

1、SpinLock (自旋锁)


2、LWLock (轻量级锁)

3、RegularLock

是一般数据库事务管理中所指的锁。只要特点是等待队列、死锁检测和能自动释放锁。


(二)、死锁

1、死锁出现的原因

行程死锁的必要条件:


2、可能会造成死锁的原因

①、锁:等待获取资源(如对象、页、行、元数据和应用程序)的锁可能导致死锁。

②、工作线程:排队等待可用工作线程的任务可能导致死锁。如果排队等待的任务拥有阻塞所有工作线程的资源,则将导致死锁。

③、内存:当并发请求等待获得内存,而当前的可用内存无法满足其需求时、可能发生死锁。

④、并行查询的相关资源。通常与交换端口关联的处理协调器、发生器或使用者线程至少包含一个不属于并行查询进程时,可能会互相阻塞,从而导致死锁。

3、减少死锁的策略

复杂系统中不能百分之百的避免死锁。

四、应用

1、LOCK锁的语法


2、事务和锁的区别

参考书籍资料!!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!