面试知识点——数据库

索引

事务

操作序列,要么都做,要么都不做

四个特性

ACID

  • Atomicity 原子性:
  • Consistency 一致性:
  • Isolation 隔离性:
  • Durability 持续性:

并发

事务并发带来的数据不一致

  • 丢失修改
  • 不可重复读
  • 读脏数据

可串行化调度

并发执行的结果与串行执行结果相同

两段锁协议

  • 对任何数据读、写之前必须先申请并获得对该数据的锁
  • 释放一个锁后,不再申请其它锁

遵守两段锁协议,则可串行化(充分条件)

隔离级别

  • 未提交读:不能解决“脏读”
  • 提交读:不能解决“不可重复读”,行级锁,读完释放,写完保留
  • 可重复读:不能解决“幻读”,行级锁,读完保留,写完保留
  • 可序列化,表级锁,读完保留,写完保留

悲观锁、乐观锁

悲观锁假设数据总会冲突,因此修改数据前一定申请锁;

乐观锁假设不会数据冲突,只在事务提交的时候检查冲突,版本号法和CAS法

原文地址:https://www.cnblogs.com/darknessplus/p/9788508.html