数据库中的事物

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中的事物相关的知识,希望对你有一定的参考价值。

一、什么是事物

访问并可能更新数据库中各种数据项的一个程序执行单元

二、事物的作用

用于保证数据的一致性

三、事物的四大特性

原子性:事物中的一系列步骤要么都执行,要么都不执行

一致性:事物执行前后,数据库中的数据始终保持一致

隔离性:多个事物同时访问相同的数据时,一个事物对另外一个事物的影响

持久性:当事物提交或者回滚时,对数据的影响是永久的,任何设备故障或断电等,都不会影响数据的保存

四、mysql中的事物

1. read uncommit

可以在一个事物中读取另一个事物还未提交的数据,会产生脏读

2. read commit(不可重复读)

在一个事物中不能读取另一个事物还未提交的数据,有可能两次读到不同的数据,因此成为不可重复读

3. reapeatable read(可重复读)

在一个事物中,即使另一个事物对数据进行了修改并提交了,本次事物依然看不到数据的变化,除非本次事物提交,开启一个新的事物

4. Serializable(序列化访问)

当数据库在一个事物当中的时候,其它事物对数据库的操作都无法进行,必须等事物提交或者回滚之后,其它事物才可以正常执行

五、orcale中的事物

1. read committed

在一个事物中不能读取另一个事物还未提交的数据,有可能两次读到不同的数据,因此成为不可重复读(和mysql一样)

2. Serializable

它的作用仅仅做到了可重复读而已,等同于mysql中的第三个级别

 

 

 


以上是关于数据库中的事物的主要内容,如果未能解决你的问题,请参考以下文章

mybatis的mapper文件中的一个标签是否可以写多条SQL语句?是否存在事物?

Spring中的事物管理,基于spring的bean的配置

Spring事物管理简介 (转)

循环中的 PL/SQL 异常

数据库-事物的隔离级别

数据库 事物 锁