对事务与并发控制的认识

一:事务的概念

事务的特性:ACID,即原子性,一致性,隔离性和持久性。

事务的状态:活跃状态,部分提交状态,提交状态,失败状态和中止状态。

SQL对事务的支持:

SQL中的事务的开始是隐含的,结束有两种形式:

COMMIT WORK

ROLLBACK WORK

SET TRANSACTION语句的格式:

SET TRANSACTION 事务模式列表

事务模式列表有存取列表和隔离级别,存取列表有READ ONLY和READ WRITE。隔离级别格式:

ISOLATION LEVEL 级别

级别可以是:READ UNCOMMITED,READ COMMITED,REAPTABLE READ,SERIALIZATION。

二:并发控制概述

方式:交叉并发方式和同时并发方式。

并发执行可能导致的问题:覆盖修改,读脏数据,不可重复读,其中不可重复读有值改变,记录消失,多出记录。

三:并发调度的可串行化

四:基于锁的协议

共享锁和排他锁:

S锁和X锁。

读锁和写锁。

锁相容矩阵。

申请和释放锁的语句格式:

lock-S(Q)

lock-X(Q)

unlock(Q)

封锁协议:

一级封锁协议:事务T更新数据对象Q之前,要申请X锁,并且事务结束后才释放锁。

二级封锁协议:在一级封锁协议的基础上,事务T读取数据对象Q之前,要申请S锁,读取完就立即释放锁。

三级封锁协议:在一级封锁协议的基础上,事务T读取数据对象Q之前,要申请S锁,但是事务结束后才释放锁。

READ UNCOMMITED,READ COMMITED和REPEATABLE READ分别对应一级封锁协议,二级封锁协议和三级封锁协议。

活锁和死锁:

活锁就是事务进入无限期等待状态,是由于不公平的锁调度导致的。

死锁就是多个事务进入循环等待状态。处理方法有预防措施和允许措施。

死锁的预防:一次封锁法和顺序封锁法。

死锁的检测和解除:

死锁的检测:超时法和等待图法。

死锁的解除。

事务与并发控制。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值