这门课是慕课网最棒的课程,没有之一 感谢! 期待老师 后续出 关于应用集群部署、DB集群、分库分表、消息队列 系列课程~ 赞我赞我赞我让老师看到!
2017-12-01
关于先执行insert与先执行update的区别,两个事务同时insert的情况下,没有锁竞争,执行速度会快,
当两个事务先update同一行数据,会有一个事务获得行锁,锁在事务提交之前都不会释放,所以让锁被持有的时间最短能提升效率
当两个事务先update同一行数据,会有一个事务获得行锁,锁在事务提交之前都不会释放,所以让锁被持有的时间最短能提升效率
2017-11-29
老师的思路真是令人耳目一新,简单调换一下sql执行顺序,便让事务获得锁的时间降低许多,说导致超卖问题的人,要知道两个请求同时到达mysql,第一个请求成功处理完之前(事务提交或回滚之前)是会独占行锁的,当第二个请求想更新库存发现更新失败(此时库存为0,影响结果行数为0)便抛出一个runtime异常,让spring回滚事务,清除掉前面插入的购买明细,所以不存在超卖问题
2017-11-29
先执行insert或update有什么区别呢? 老师说insert失败了 update不执行了,直接回滚释放锁。 但是先执行的update失败了 也一样后面不执行,抛异常回滚释放锁了 有什么区别吗 除非:insert失败的概率比较大 写在前面
2017-11-16