共計 891 個字符,預計需要花費 3 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章主要介紹了 mysql 數據庫中行級鎖、表級鎖和頁級鎖的區(qū)別是什么,具有一定借鑒價值,需要的朋友可以參考下。下面就和我一起來看看吧。
按粒度可以分為:1、行級鎖,MySQL 中鎖定粒度最細的一種鎖,表示只針對當前操作的行進行加鎖;2、表級鎖,MySQL 中鎖定粒度最大的一種鎖,表示對當前操作的整張表加鎖;3、頁級鎖,MySQL 中鎖定粒度介于行級鎖和表級鎖中間的一種鎖。
本教程操作環(huán)境:windows7 系統(tǒng)、mysql8 版本、Dell G3 電腦。
在關系型數據庫中,可以按照鎖的粒度把數據庫鎖分為行級鎖 (INNODB 引擎)、表級鎖(MYISAM 引擎) 和頁級鎖(BDB 引擎)。
MyISAM 和 InnoDB 存儲引擎使用的鎖:
MyISAM 采用表級鎖(table-level locking)。
InnoDB 支持行級鎖 (row-level locking) 和表級鎖,默認為行級鎖。
行級鎖,表級鎖和頁級鎖對比
行級鎖:MySQL 中鎖定粒度最細的一種鎖,表示只針對當前操作的行進行加鎖。行級鎖能大大減少數據庫操作的沖突。其加鎖粒度最小,但加鎖的開銷也最大。行級鎖分為共享鎖和排他鎖。
特點:開銷大,加鎖慢;會出現死鎖;鎖定粒度最小,發(fā)生鎖沖突的概率最低,并發(fā)度也最高。
表級鎖:MySQL 中鎖定粒度最大的一種鎖,表示對當前操作的整張表加鎖,它實現簡單,資源消耗較少,被大部分 MySQL 引擎支持。最常使用的 MyISAM 與 InnoDB 都支持表級鎖定。表級鎖定分為表共享讀鎖 (共享鎖) 與表獨占寫鎖(排他鎖)。
特點:開銷小,加鎖快;不會出現死鎖;鎖定粒度大,發(fā)出鎖沖突的概率最高,并發(fā)度最低。
頁級鎖:是 MySQL 中鎖定粒度介于行級鎖和表級鎖中間的一種鎖。表級鎖速度快,但沖突多,行級沖突少,但速度慢。所以取了折衷的頁級,一次鎖定相鄰的一組記錄。
特點:開銷和加鎖時間界于表鎖和行鎖之間;會出現死鎖;鎖定粒度界于表鎖和行鎖之間,并發(fā)度一般
以上就是 mysql 數據庫中行級鎖、表級鎖和頁級鎖的區(qū)別是什么的詳細內容了,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎來丸趣 TV 行業(yè)資訊!
向 AI 問一下細節(jié)