数据库常见面试知识整理

事务

概念和四大特性

事务是指一组操作,拥有四大特性:原子性、一致性、隔离性、连续性(也称ACID特性)。
可以通过commit提交一个事务,也可以使用rollback回滚。

  1. 原子性(Atomicity):事务被视为不可分割的最小单元,要么全部commit成功,要么全部失败rollback;
  2. 一致性(Atomicity):在事务前后保持一致性状态。在一致性状态下所读的所有数据都是一样的。
  3. 隔离性(Isolation):事务的修改在最终提交之前对其他事务不可见
  4. 连续性(Durability):一个事务一旦提交,那么所做的修改永远保存

四大特性之间的关系:

  • 连续性:用于应对系统崩溃情况
  • 在无并发情况下,自动满足了隔离性(只有一个事务),因此需要满足原子性才能保证一致性
  • 在并发情况下,需要同时满足隔离性和原子性来保证一致性

并发一致性

  • 丢失修改:一个事务提交的更新操作被另一个事务的更新操作覆盖
  • 读脏数据:一个事务读取了另一个事务还未提交的修改
  • 不可重复读:一个事务读取数据之后在操作期间,另一个事务对其进行了访问和修改,此时事务1再读取时,数据与初始的不一致
  • 幻影读:也是不可重复读的一种。一个事务在读取某个范围的数据之后并在操作期间,另一个事务对该区间进行了操作,那么事务1再次读取该区间就与初始的不一致

因此需要在事务操作时候进行进行一些隔离操作

解决并发一致性问题

隔离级别

未提交读:事务的修改对其他事务是可见的
提交读:事务的修改只有提交之后才对其他事务可见
可重复读:保证一个事务多次读取的结果是一样的
可串行化:强制事务串行执行

多版本并发控制

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值