数据库相关(面试)

四个特征

ACID

  • 原子性
  • 隔离性
  • 永久性
  • 一致性

三大问题

  • 脏读:读了未提交的数据。
  • 不可重复读:事务先前读到的数据被删改情况。
  • 幻读:事务先前读到的数据出现增加(insert)情况。

四大隔离级别

  • 读未提交
  • 读已提交
  • 可重复读
  • 串行化

Spring七种事务传播方式

(带事务的方法互相调用)

考虑一下几点

  • 是否支持当前事务
  • 是否新建事务
  • 嵌套事务(利用savepoint实现“”“子事务”,父事务回滚,子事务也回滚)
  • 挂起当前事务(另外启用一个session)

Spring默认发生未被捕获的RuntimeException时才回滚

Mysql的InnoDB

MVVC 多版本并发控制
  • 设置隐藏字段(创建、删除的版本号)
  • update 相当于增加一条数据。
  • 快照读:select
  • 当前读:update、delete、insert、for update、lock in share mode

记录锁

间隙锁

next-key锁

for update IX意向锁

B+树和Hash

  • B+树方便比较和范围查找等操作。
  • 哈希方便单点查找。

索引覆盖

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值