1. 行级锁:行级锁是一种排他锁,防止其他事务修改此行;
在使用以下语句时,Oracle会自动应用行级锁: INSERT、UPDATE、DELETE、SELECT … FOR UPDATE [OF columns] [WAIT n | NOWAIT]; SELECT … FOR UPDATE语句允许用户一次锁定多条记录进行更新; 使用 COMMIT 或 ROLLBACK 语句释放锁。
2. 表级锁:表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分 MySQL引擎支持。最常使用的MYISAM与INNODB都支持表级锁定。表级锁定分为表共享读锁(共享锁)与表独占写锁(排他锁)。
3. 页级锁:页级锁是MySQL中锁定粒度介于行级锁和表级锁中间的一种锁。表级锁速度快,但冲突多,行级冲突少,但速度慢。所以取了折衷的页级,一次锁定相邻的一组记录。BDB支持页级锁