1. 行級鎖:行級鎖是一種排他鎖,防止其他事務(wù)修改此行;
在使用以下語句時(shí),Oracle會自動(dòng)應(yīng)用行級鎖: INSERT、UPDATE、DELETE、SELECT … FOR UPDATE [OF columns] [WAIT n | NOWAIT]; SELECT … FOR UPDATE語句允許用戶一次鎖定多條記錄進(jìn)行更新; 使用 COMMIT 或 ROLLBACK 語句釋放鎖。
2. 表級鎖:表示對當(dāng)前操作的整張表加鎖,它實(shí)現(xiàn)簡單,資源消耗較少,被大部分 MySQL引擎支持。最常使用的MYISAM與INNODB都支持表級鎖定。表級鎖定分為表共享讀鎖(共享鎖)與表獨(dú)占寫鎖(排他鎖)。
3. 頁級鎖:頁級鎖是MySQL中鎖定粒度介于行級鎖和表級鎖中間的一種鎖。表級鎖速度快,但沖突多,行級沖突少,但速度慢。所以取了折衷的頁級,一次鎖定相鄰的一組記錄。BDB支持頁級鎖