您好,登錄后才能下訂單哦!
這篇文章主要介紹了mysql數據庫中行級鎖、表級鎖和頁級鎖的區別是什么,具有一定借鑒價值,需要的朋友可以參考下。下面就和我一起來看看吧。
按粒度可以分為:1、行級鎖,MySQL中鎖定粒度最細的一種鎖,表示只針對當前操作的行進行加鎖;2、表級鎖,MySQL中鎖定粒度最大的一種鎖,表示對當前操作的整張表加鎖;3、頁級鎖,MySQL中鎖定粒度介于行級鎖和表級鎖中間的一種鎖。
本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。
在關系型數據庫中,可以按照鎖的粒度把數據庫鎖分為行級鎖(INNODB引擎)、表級鎖(MYISAM引擎)和頁級鎖(BDB引擎 )。
MyISAM和InnoDB存儲引擎使用的鎖:
MyISAM采用表級鎖(table-level locking)。
InnoDB支持行級鎖(row-level locking)和表級鎖,默認為行級鎖。
行級鎖,表級鎖和頁級鎖對比
行級鎖:MySQL中鎖定粒度最細的一種鎖,表示只針對當前操作的行進行加鎖。行級鎖能大大減少數據庫操作的沖突。其加鎖粒度最小,但加鎖的開銷也最大。行級鎖分為共享鎖和排他鎖。
特點:開銷大,加鎖慢;會出現死鎖;鎖定粒度最小,發生鎖沖突的概率最低,并發度也最高。
表級鎖:MySQL中鎖定粒度最大的一種鎖,表示對當前操作的整張表加鎖,它實現簡單,資源消耗較少,被大部分MySQL引擎支持。最常使用的MyISAM與InnoDB都支持表級鎖定。表級鎖定分為表共享讀鎖(共享鎖)與表獨占寫鎖(排他鎖)。
特點:開銷小,加鎖快;不會出現死鎖;鎖定粒度大,發出鎖沖突的概率最高,并發度最低。
頁級鎖:是MySQL中鎖定粒度介于行級鎖和表級鎖中間的一種鎖。表級鎖速度快,但沖突多,行級沖突少,但速度慢。所以取了折衷的頁級,一次鎖定相鄰的一組記錄。
特點:開銷和加鎖時間界于表鎖和行鎖之間;會出現死鎖;鎖定粒度界于表鎖和行鎖之間,并發度一般
以上就是mysql數據庫中行級鎖、表級鎖和頁級鎖的區別是什么的詳細內容了,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎來億速云行業資訊!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。