MySql鎖的分類
按照“操作類型”分:
????????1、共享鎖(讀鎖):
????????2、互斥鎖(寫鎖)
按照“操作范圍”分:
????????1、表鎖 :一次性對一張表整體加鎖。如MyISAM存儲引擎使用表鎖,開銷小、加鎖快;無死鎖;但鎖的范圍大,容易發(fā)生鎖沖突、并發(fā)度低。
????????2、行鎖(與表鎖的特性完全相反):一次性對一條數(shù)據(jù)加鎖。如InnoDB存儲引擎使用行鎖,開銷大,加鎖慢;容易出現(xiàn)死鎖;鎖的范圍較小,不易發(fā)生鎖沖突,并發(fā)度高(很小概率發(fā)生高并發(fā)問題:臟讀、幻讀、不可重復度、丟失更新等問題)。
????????3、頁鎖(幾乎遇不見):頁鎖的開銷介于表鎖和行鎖之間,會出現(xiàn)死鎖。鎖定粒度介于表鎖和行鎖之間,并發(fā)度一般。