数据库的锁有哪几种?

共享(S)锁:多个事务可封锁一个共享页;任何事务都不能修改该页; 通常是该页被读取完毕,S锁立即被释放。
排它(X)锁:仅允许一个事务封锁此页;其他任何事务必须等到X锁被释放才能对该页进行访问;X锁一直到事务结束才能被释放。
更新(U)锁:用来预定要对此页施加X锁,它允许其他事务读,但不允许再施加U锁或X锁;当被读取的页将要被更新时,则升级为X锁;U锁一直到事务结束时才能被释放。

锁的密度
  根据锁的级别或密度来划分,MySQL有三种锁的级别:页级、表级、行级。

    使用表级锁定的主要是MyISAM,MEMORY,CSV等一些非事务性存储引擎。

      使用行级锁定的主要是InnoDB存储引擎。

      使用页级锁定的主要是BerkeleyDB存储引擎。

原文地址:https://www.cnblogs.com/Iron-1995/p/14355666.html