乐观锁、悲观锁、共享锁、排他锁、行锁、表锁、死锁
疑问难点
- 什么是锁?
- 为什么会出现锁情况?
- 如果模拟锁情况?
基础知识
锁是计算机协调多个进程或线程并发访问某一资源的机制。锁保证数据并发访问的一致性、有效性;锁冲突也是影响数据库并发访问性能的一个重要因素。锁是Mysql在服务器层和存储引擎层的的并发控制。
加锁是消耗资源的,锁的各种操作,包括获得锁、检测锁是否是否已解除、释放锁等。
查询锁
select * from tblxxx where id = ? for update
- 锁作用在where字段是索引上
- 锁作用在事务之中