Mysql_四大特性(ACID)、并发事务带来的问题、四种隔离级别

四大特性(ACID)

1. 原子性(Atomicity): 事务是最小的执行单位,不允许分割。事务的原⼦性确保动作要么全部完成,要么完全不起作⽤;

2. 一致性(Consistency): 执行事务前后,数据保持⼀致,多个事务对同⼀个数据读取的结果是相同的;

3. 隔离性(Isolation): 并发访问数据库时,⼀个用户的事务不被其他事务所⼲扰,各并发事务之间数据库是独立的;

4. 持久性(Durability): ⼀个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。

并发事务带来的问题

脏读

某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,没有提交事务,则后一个事务所读取的数据就会是不正确的。

不可重复读

一个事务多次查询却返回了不同的数据值,这是由于在查询间隔,被另一个事务修改并提交了。

幻读

在一个事务的两次查询中数据笔数不一致(在查询间隔中,被另一个事务插入了数据)。

四种隔离级别

READ-UNCOMMITTED(读取未提交): 最低的隔离级别,允许读取尚未提交的数据变更。

READ-COMMITTED(读取已提交): 允许读取并发事务已经提交的数据。

REPEATABLE-READ(可重复读): 对同⼀字段的多次读取结果都是⼀致的,除非是事务本身修改的。

SERIALIZABLE(可串行化): 最高的隔离级别,完全服从ACID的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰。

posted @   疾风儿  阅读(185)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示