事务

数据库事务的四大特性(ACID):

原子性、一致性、隔离性、持久性。

原子性(Atomicity):事务执行的操作要么全部成功,要么全部回滚。事务如果成功则必须所有操作都应用到数据库,如果失败则不能对数据库造成任何影响。

一致性(Consistency):事务必须使数据库从一个一致性状态转换到另外一个一致性状态。

隔离性(Isolation):当多个用户并发访问数据库时,比如操作一张表时,数据库为每一个用户所开启的事务不能被其他事务所干扰,多个并发事务之间要相互隔离。

持久性(Durability):一个事务一旦提交,对系统的作用就是永久的,即便数据库发生了故障也不会消失


事务的隔离级别:

1、读取未提交内容(read uncommitted)

所有事务都可以看到其他未提交事务的执行结果。这种级别并不常用,因为安全性太低,而且性能也并没有提高多少。

1、读取提交内容(read committed)

大多数数据库的默认隔离级别(除了mysql),事务只能读取已经提交的内容。该级别可避免脏读的发生。会有不可重复读的发生:同一事务前后两次查询同一条数据,查询结果不一样。

3、可重复读(Repeatable Read)

mysql的默认隔离级别,事务执行期间会锁定该事务以任何方式引用的所有行。避免了不可重复读的发生,但是会有幻读的发生:一个事务操作所有数据并修改,在修改之前,另外一个事务插入一条数据并提交,此时第一个事务进行修改操作,修改结束再查询会发现多修改了一条数据。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值