第六章 事务与并发控制

Posted 岁月如歌,往事随风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第六章 事务与并发控制相关的知识,希望对你有一定的参考价值。

1、前言
-》当进行一个增删改事务时,系统会默认加锁,查询时会出现执行等待,commit或rollback之后等待结束

2、事务
-》理解:保证一个多操作的事情全部成功执行完成,否则回滚到未任何操作之前的状态
只有数据改变(增加、修改、删除)时才会引发事务,查询不会引发事务
-》分类:
·显式事务:需要手动控制
·隐式事务:不需要手动操作,每条语句都是事务,mssqlserver默认采用此方式
-》满足事务的四个原则:原子性、一致性、隔离性、持久性
-》语法格式: bengin tran /*定义事务的开始*/
commit tran /*提交事务*/
rollback tran /*回滚事务,出错后执行*/
save tran /*在事务内设置保存点*/
例: begin try
begin tran
sql语句[块]
commit tran
end try
begin catch
rollback tran
end catch

3、并发控制
-》解释:当多个用户同时更新行时,用于保护数据库完整性的各种技术。
-》目的:保证一个用户的工作不会对另一个用户的工作产生不合理的影响。
-》并发带来的问题
--丢失修改
--脏读:一个事务访问并修改这个数据,但并未提交到数据库;另一个事务使用了这个还没有提交的数据(脏数据)。
--不可重复读:第一个事务多次读同一数据,第二个事务在第一事务读数据之间进行了修改,那么第一次事务多次读到数据可能是不一样。
--幻读:与不可重复读相似。

4、锁
-》解释:解决并发带来的问题,使并发的事务串行化,使各事务都按照某种次序来进行,从而消除相互干扰的一种机制。

     详细解释:https://blog.csdn.net/u013444177/article/details/51760860

以上是关于第六章 事务与并发控制的主要内容,如果未能解决你的问题,请参考以下文章

[书籍翻译] 《JavaScript并发编程》第六章 实用的并发

数据库原理实验(openGauss)事务与并发控制

postgresql事务处理与并发控制

考研复试数据库

304441事务管理与并发控制

[转帖]深入理解 MySQL—锁事务与并发控制