到淘宝上买东西,库存只剩一件的时候,两个人同时买,到底如何解决谁买到的的问题?...1:我们先从库存表中取出物品数量
2:插入订单
3:付款后插入付款表
4:然后更新商品数量
在这个过程中,使用锁可以对有限的资源进行保护,解决隔离和并发的矛盾;
锁的概念:
锁是计算机协调多个进程或线程并发访问某一资源的机制...仅从锁的角度来说:
表级锁更适合于以查询为主,只有 少量按索引条件更新数据的应用,如OLAP系统
行级锁则更适合于有大量按索引条件并发更新少量不同数据,同时又有并发查询的应用,如一些在线事物处理...,但会阻塞对同一表的写请求
对MyISAM表的读操作,不会阻塞当前Session对表的读操作,当对表修改会报错
一个Session使用 LOCK TABLE命令给表F添加读锁,这个Session可以查询锁定表中的记录...,但更新或访问其他表都会提示报错;
另一个Session可以查询表中的记录,但更新会出现锁等待
对MyISAM表的写操作,则会阻塞其他用户对同一表的读和写操作
对MyISAM表的写操作,当前Session