问答详情
源自:3-1 秒杀操作-并发优化-1

为什么说插入的时候冲突率低,网络延迟和GC可以并行啊?这样加快速度有点不理解?

为什么说插入的时候冲突率低,网络延迟和GC可以并行啊?这样加快速度有点不理解?

提问者:我大概成仙了 2017-08-09 00:41

个回答

  • Neo_xu
    2019-04-23 17:10:40

    因为插入数据是插入的不同行,可以并行(冲突率低)。只有重复秒杀时才会冲突,但是由于userphone+id为唯一主键所以不会重复秒杀。

  • 慕九州0463539
    2017-11-16 16:25:25

    insert,update,delete,select for update都是隐式的行级独占锁。

    分析的也对insert是新数据,update是老数据


  • qq_光_22
    2017-08-10 09:37:55

    首先是在更新操作的时候给行加锁,插入并不会加锁,如果更新操作在前,那么就需要执行完更新和插入以后事务提交或回滚才释放锁,而如果插入在前,则更新完以后事务提交或回滚就释放锁。也就是说是更新在前加锁和释放锁之间两次的网络延迟和GC,如果插入在前则加锁和释放锁之间只有一次的网络延迟和GC,也就是减少的持有锁的时间。