面试真题

数据库 · 中等 · 网易

数据库中的乐观锁是如何实现的?

中等 数据库 🎤 网易
参考答案
结论:乐观锁假设并发冲突少,通过版本号或时间戳机制在更新时校验,不加锁。核心要点:1.表中增加version字段(或时间戳);2.读取数据时连带版本号;3.更新时带条件WHERE id=? AND version=?,若版本匹配则更新并version+1,否则失败重试;4.也可使用CAS思想;5.优点是无锁开销小,适合读多写少;缺点是高冲突下重试成本高。原理:利用数据库原子更新保证一致性。示例:UPDATE goods SET stock=stock-1, version=version+1 WHERE id=1 AND version=3。
题目整理自公开面经,答案由校招宝自研生成,仅供参考