2

我看了这几篇文章:

  1. http://www.blogjava.net/loocky/archive/2006/11/15/81138.html

  2. http://blog.csdn.net/xifeijian/article/details/20313977

  3. http://betakoli.iteye.com/blog/2257095

  4. http://www.cnblogs.com/chenwenbiao/archive/2012/06/06/2537508.html

这上面几篇文章讲了 mysql InnoDB 的一些事务锁的使用,感觉里面都说到了下单时的减库存所定一行(FOR UPDATE)的这种情况,也就是说同一时刻,只能有一个下单的事务在执行,也就是说这是串行的?

这就跟去超市买东西结账时一张,收银员只能一个一个的结账,而我们只能提着篮子排队等着。

这是数据库的同一时刻是什么时间概念呢,同一秒,同一毫秒?还是根本就没有时间的概念,只是空间的概念,就是同一时空只有一个事务在执行,其它的排队等着吧?

计算机不就是为了解放人类的吗?那现在它这样和超市结账时要我们排队等着有什么分别呢?这样不显得Low吗?

那淘宝一秒钟上亿的成交,也是这样一个一个的“提交”订单的吗?如果是这样怎么可能一秒能有这么大的交易量呢?

另外再帮我看看这个问题:http://segmentfault.com/q/1010000004062810

谢谢了!

xiasf 1.9k
2015-11-30 提问

查看全部 3 个回答

0

行锁,又不是表锁。另外都是微秒级的锁,为了保证acid就要加锁,不然就NoSQL

推广链接