1:我们先从库存表中取出物品数量
2:插入订单
3:付款后插入付款表
4:然后更新商品数量
在这个过程中,使用锁可以对有限的资源进行保护,解决隔离和并发的矛盾;
锁的概念:
锁是计算机协调多个进程或线程并发访问某一资源的机制...Mysql中的锁
Mysql的锁机制比较简单
其最显著的特点是不同的存储引擎支持不同的锁机制
比如:
MyISAM和Memory存储引擎采用的是表级锁(table-level locking)
...仅从锁的角度来说:
表级锁更适合于以查询为主,只有 少量按索引条件更新数据的应用,如OLAP系统
行级锁则更适合于有大量按索引条件并发更新少量不同数据,同时又有并发查询的应用,如一些在线事物处理...,就不写例子了
MyISAM的表锁
总结:
对MyISAM表的读操作,不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写请求
对MyISAM表的读操作,不会阻塞当前Session对表的读操作,当对表修改会报错...对MyISAM表的写操作,则会阻塞其他用户对同一表的读和写操作
对MyISAM表的写操作,当前Session可以对本表做CRUD,但对其他表操作会报错
InnoDB的行锁
在Mysql中的InnoDB存储引擎支持行锁