栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2. 什么是事务,事务的四个特性是什么?有哪些隔离级别?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2. 什么是事务,事务的四个特性是什么?有哪些隔离级别?

1. 事务(Transaction):

        是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元);

2. 事务具有 4 个属性,通常称为 ACID 特性:

​  原子性(atomicity):事务是一个完整的操作.事务的各步操作是不可分的;要么都执行、要么都不执行.

​  一致性(consistency):当事务完成时,数据必须处于一致状态.

​  隔离性(isolation):对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务.

​  持久性(durability):事务完成后,它对数据库的修改被永久保存,事务日志能保持事务的永久性.

3. 隔离级别分为:

Read Uncommitted(读未提交)、Read Committed(读提交)、Repeatable Read(可以重复读)、Serializable(序列化)这 4 种级别

   3.1 读未提交 Read Uncommitted

   •当数据库系统使用Read Uncommitted隔离级别时,一个事务在执行过程中可以看到其他事务没有提交的新添加的记录,也能看到其他事务没有提交的新更新的记录。

   •       注意:该事务级别只有理论分析意义,没有任何实际意义,因为没有任何一个真实的系统会设置这种隔离级别!

   3.2 读已提交 Read Committed

   •       当数据库系统使用Read Committed隔离级别时,一个事务在执行过程中可以看到其他事务已提交的新添加的记录,而且还能看到其他事务已提交的新更新的记录。

   3.3 可重复读 Repeatable Read  

   •       当数据库系统使用Repeatable Read隔离级别时,一个事务在执行过程中可以看到其他事务已提交的新添加的记录,但是不能看到其他事务对已提交的新更新的记录。

   3.4 序列化 Serializable

   •       当数据库系统使用Serializable隔离级别时,一个事务在执行过程中完全看不到其他事务对数据库所做的增删改查。当两个事务同时操作数据库中相同数据时,如果第一个事务已经在访问该数据,第二个事务只能停下来等待,必须等到第一个事务结束后才能恢复运行。

   •        因此,这两个事务实际上是串行化方式运行。所以又称作串行化。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1003466.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号