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