数据库基本的锁

数据库锁

乐观锁:乐观锁认为一般情况下数据不会造成冲突,所以在数据进行提交更新时才会对数据的冲突与否进行检测(适用于多读少写)。

悲观锁:在整个数据处理过程中,将数据处于锁定状态(适用于多写少读)。

 

行级锁:一行数据被一个事务操作(增删改),这行数据会被锁住,其他事务需要等待行锁解锁后才能操作该行数据。

 

表级锁:表的索引失效,事务隔离级别为顺序读等导致整个表被锁住,其他事务无法操作该表。

 

间隙锁:一个事务对表的一个范围数据进行操作(如:select..where id>5 and id <20;),该范围的数据会被锁住,其他事务无法在该范围操作数据。间隙锁可防止幻读和数据误删改。

 

查看数据库中锁的状态:

show status like "%lock%";

数据库基本的锁

上一篇:SQL Server Where 条件中 != 是否能查询出 为null的数据


下一篇:13--mysql事务详解