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

Java

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

Java

前言

在数据库系统中,事务是相当重要的一环,也正是事务的存在为数据提供安全保障和数据恢复能力。

理解
  • 事务特性
  1. 原子性:一个事务中的所有操作都是一个整体,要么全都执行成功,要么执行失败全都回滚。
  2. 一致性:一个事务执行前的数据总和必须和执行后的数据总和保持一致,例如A银行卡有100元、B银行卡有100元,A给B转账50元,不管中间进行了什么操作,最后的银行卡总和一定还是200元。
  3. 隔离性:一个事务是看不到另一个事务正在进行的操作。
  4. 持久性:数据执行提交后,会永久的保存到磁盘上。
  • 事务隔离级别

事务隔离级别主要就是解决事务并发出现的问题,例如脏读(读取到没有提交的数据)、不可重复读(一个事务中的两次查询,查到的数据不一样,有其他事务对查询的记录进行了修改操作)、幻读(一个事务中的两次查询,查到的数据不一样,有其他事务对此表记录进行了插入或删除操作)

  1. 读未提交:可以读取到未提交的数据,因为在这种查询下不会加锁,导致一致性非常差,可能会产生脏读、不可重复读、幻读。
  2. 读已提交:读取到的数据是提交之后的,这个隔离级别也是Oracle的默认隔离级别,能够有效的防止脏读的问题。
  3. 可重复读:这个隔离级别同样也是只能读取到已提交的数据,是MySql的默认隔离级别,和读提交不同的是,当事务开始之后,就对相应的行数据进行加锁操作,避免了别的事务对数据的修改而导致的不可重复读,但此隔离级别是无法避免幻读,因为幻读是别的事务对表进行插入或者删除操作导致的,需要进行表锁才能够避免。
  4. 串行化:最高隔离级别,所有事务都需要排队执行,避免了脏读、不可重复读、幻读,但执行效率极差。
结束
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/356514.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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