MySQL
简单
面试题库
MySQL
中等
为什么在高并发写场景要慎用 SELECT ... FOR UPDATE 大范围锁?替代方案有哪些?
MySQL
困难
如何通过"排队 + 乐观重试"替代长事务持锁?给出扣减余额的伪代码。
MySQL
中等
为什么建议把能提前的查询、计算放到事务外?一个订单扣库存的示例如何重构?
MySQL
困难
如何用 innodb_deadlock_detect 开关 + innodb_lock_wait_timeout 的组合来缓解高并发死锁风暴?
MySQL
中等
缩小事务范围(把无关语句移出事务)为什么能同时降低死锁与锁等待?代价是什么?
MySQL
中等
为什么"统一按主键顺序访问"能显著降低死锁概率?给出正反两个代码示例。
MySQL
简单
应用层避免死锁的通用原则有哪些?请从加锁顺序、事务范围、持锁时间三方面说明。
MySQL
简单
为什么同一条 SQL 在单机不超时、上了主从或分库后却频繁死锁?环境差异在哪里?
MySQL
简单
一个 UPDATE 影响多行时,InnoDB 是"一次性全锁"还是"逐行加锁"?这如何影响死锁概率?
MySQL
中等
死锁发生后,应用层应该怎样重试?为什么重试也要加随机退避?
MySQL
困难