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

事务的四个特性(事务传播行为)

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

事务的四个特性(事务传播行为)

事务的四个特性:
原子性:要么同时执行,如果中间出错,进行回滚,也就是相当于这个事务没有进行,数据库的数据还是这次事务之前的数据.
一致性; 对数据的操作要逻辑正确.
持久性:事务完成后要将数据提交到数据库中.
隔离性:在并发环境中,事务之间相互独立.

隔离级别: 1.读未提交 :事务A可以读事务B未提交的记录数据,会造成脏读问题
2.读已提交 :事务A只能读到已经提交到数据库的数据,解决了脏读问题,但存在不可重复读问题,即事务多次读数据库中的数据,读到的数据不一样,因为其它事务将数据修改了
3.可重复读 : 解决了不可重复读问题,但是存在幻读问题,怎样解决不可重复读问题的呢?
比如事务A在第一次读取数据时,将数据进行拍照,后面再进行读取时读取这张照片上的数据,不会读取数据库最新更新的数据.
为什么存在幻读呢?
根据这张照片进行操作是有局限性的,无法知道其它事务是不是增加或者删除了新的行,根据这张表进行增加和删除,会产生"幻觉",例如:
事务A设置为可重复读,决定根据这张照片进行插入新的行,这时发现插入失败,因为此时是将数据插入数据库中,事务B在事务A插入之前也插入了,此时事务A就会觉得:刚刚查到(根据这张照片)这一行为空,那怎么会插入不了呢,就跟产生幻觉一样.
4.串行化 : 事务之间串行执行,并发性太低

隔离性越高,并发性越低,mysql默认的隔离级别是可重复读.

创建事务:
begin;
回滚:
rollback;
提交记录:
commit

commit代表事务执行完毕,rollback代表删除事务和对应记录.

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

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

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