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

数据库事务的四大特性以及事务的隔离级别

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

数据库事务的四大特性以及事务的隔离级别

        1、数据库事务:主要用于处理操作量大、复杂度高的数据。事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。

        2、四大特性(ACID):原子性、一致性、隔离性、持久性

        ①原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间的某个环节。事务在执行过程中发生错误,会被回滚到事务开始的状态,就像这个事务没有执行过一样。

        ②一致性:在事务开始之前和结束之后,数据库的完整性没有被破坏。

        ③隔离性:数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。

        ④持久性:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

        3、事务的隔离级别分为四种:

        Read uncommitted (读未提交)              Read committed (读已提交)

        Repeatable read (可重复读)                  Serializable(串行化)

        读未提交级别最低,串行化级别最高,级别越高,执行效率越低。

        4、在并发事务中,没有进行隔离的情况下,会发生的问题:

        ①脏读:指一个事务读取了另一个事务未提交的数据。

        ②不可重复读:指在一个事务内读取表中的某一行数据,多次读取结果不同。

        ③幻读:当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现新的“幻影”行。

事务隔离级别相对应的问题如表格所示:

事务隔离级别脏读不可重复读幻读
Read uncommitted (读未提交)
Read committed (读已提交)
Repeatable read (可重复读)
Serializable(串行化)否 

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

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

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