参考
1.Mysql分布式锁(一)jvm本地锁
2.Mysql分布式锁(二)单个sql
3.Mysql分布式锁(三)悲观锁
4.Mysql分布式锁(四)乐观锁
性能
单个sql > 悲观锁 > jvm锁 > 乐观锁
1. 如果追求极致性能、业务场景简单且不需要记录数据前后变化的情况下优先选择:单个sql
2. 如果写并发量较低(多读),争抢不是很激烈的情况下优先选择:乐观锁
3. 如果写并发量较高,一般会经常发生冲突,优先选择:悲观锁
此时选择乐观锁的话,会导致业务代码不断的重试