100.第十九章 MySQL数据库 -- MySQL的并发控制(十)

4.5 并发控制

4.5.1 锁机制

锁类型:

  • 读锁:共享锁,也称为 S 锁,只读不可写(包括当前事务) ,多个读互不阻塞
  • 写锁:独占锁,排它锁,也称为 X 锁,写锁会阻塞其它事务(不包括当前事务)的读和写
  • S 锁和 S 锁是兼容的,X 锁和其它锁都不兼容,举个例子,事务 T1 获取了一个行 r1 的 S 锁,另外事务 T2 可以立即获得行 r1 的 S 锁,此时 T1 和 T2 共同获得行 r1 的 S 锁,此种情况称为锁兼容,但是另外一个事务 T2 此时如果想获得行 r1 的 X 锁,则必须等待 T1 对行 r 锁的释放,此种情况也称为锁冲突

锁粒度:

  • 表级锁:MyISAM
  • 行级锁:InnoDB

实现

  • 存储引擎:自行实现其锁策略和锁粒度
  • 服务器级:实现了锁,表级锁,用户可显式请求

分类:

  • 隐式锁:由存储引擎自动施加锁
  • 显式锁:用户手动请求

锁策略:在锁粒度及数据安全性寻求的平衡机制

在mysql中刚才讲InnoDB和MyISAM的时候提到行级锁、表级锁,那在mysql中这个锁实际上它有多种分类,比方说从它的共享程度上可以分成读锁和写锁,读锁又称为共享锁,或者称为S锁,S就是共享的意思,写锁又称为排它锁,又称为X锁&#

猜你喜欢

转载自blog.csdn.net/qq_25599925/article/details/128411179