当前位置:网站首页>MySQL 事务
MySQL 事务
2022-07-19 00:52:00 【王家五哥】
数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败
四个特性,简称 ACID:
原子性(Atomicity)、
一致性(Consistency)、
隔离性(Isolation)、
持久性(Durability)
事务隔离级别:
读未提交(READ UNCOMMITTED)
读提交 (READ COMMITTED)
可重复读 (REPEATABLE READ)
串行化 (SERIALIZABLE)
从上往下,隔离强度逐渐增强,性能逐渐变差。采用哪种隔离级别要根据系统需求权衡决定,其中,可重复读是 MySQL 的默认级别。
以下几个概念是事务隔离级别要实际解决的问题,所以需要搞清楚都是什么意思。
脏读
脏读指的是读到了其他事务未提交的数据,未提交意味着这些数据可能会回滚,也就是可能最终不会存到数据库中,也就是不存在的数据。读到了并一定最终存在的数据,这就是脏读。
可重复读
可重复读指的是在一个事务内,最开始读到的数据和事务结束前的任意时刻读到的同一批数据都是一致的。通常针对数据更新(UPDATE)操作。
不可重复读
对比可重复读,不可重复读指的是在同一事务内,不同的时刻读到的同一批数据可能是不一样的,可能会受到其他事务的影响,比如其他事务改了这批数据并提交了。通常针对数据更新(UPDATE)操作。
幻读
幻读是针对数据插入(INSERT)操作来说的。假设事务A对某些行的内容作了更改,但是还未提交,此时事务B插入了与事务A更改前的记录相同的记录行,并且在事务A提交之前先提交了,而这时,在事务A中查询,会发现好像刚刚的更改对于某些数据未起作用,但其实是事务B刚插入进来的,让用户感觉很魔幻,感觉出现了幻觉,这就叫幻读。
边栏推荐
猜你喜欢
随机推荐
“蜂聚惠”电商购物平台线上线下齐发力,打造全域电商新秀崛起
EN 1504-3 concrete structure products - CE certification
JVM knowledge map (under update)
[self learning] - how to make the dialogue robot stronger and stronger?
Deep understanding of ArrayList
SHAREit Group荣登印尼市场热门公司榜单TOP4
高度警惕!战场上智能手机位置数据的武器化
JS的DOM操作——事件类型
【快速上手教程1】疯壳·开源编队无人机-开机测试
J9 digital currency platform popular science: how does the double consensus of Sui network work?
服务网关(Zuul)
亲测五种高效实用的脱单方法,赶紧收藏帮你快速找到优质对象!
Tutoriel de requête SQL pour la science des données avec mon serveur SQL
【C 练习】箭形图案
User defined MVC addition, deletion, modification and query
五行八卦的学问
esxi6.7中手动克隆虚拟机的方法
高数 | 【多元函数微分学】概念篇 —— 连续、可偏导及可微之间的关系
中信证券手机流程开户安全吗,VIP账户怎么开
ReplicaSet