选择乐观锁是因为它在多读场景下能有更好的并发性能。乐观锁优点是高并发下性能好、不会阻塞事务;缺点是更新冲突时要回滚重试。悲观锁优点是能保证数据一致性,缺点是并发性能差,容易造成阻塞。