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