最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

MySQL都有哪些鎖呢

2023-08-25 13:24 作者:BYYYSJX  | 我要投稿

MySQL 里面表級別的鎖有這幾種:

  • 表鎖;

  • 元數(shù)據(jù)鎖(MDL);

  • 意向鎖

  • AUTO-INC 鎖

MySQL數(shù)據(jù)庫里面的鎖是基于索引實現(xiàn)的,在Innodb中鎖都是作用在索引上面的,當(dāng)SQL命中索引時,那么鎖住的就是命中條件內(nèi)的索引節(jié)點(行鎖),如果沒有命中索引的話,那我們鎖的就是整個索引樹(表鎖)。
?

按屬性分:

共享鎖(share lock):共享鎖又稱讀鎖,簡稱S鎖;當(dāng)一個事務(wù)為數(shù)據(jù)加上讀鎖之后,其他事務(wù)只能對該數(shù)據(jù)加讀鎖,而不能對數(shù)據(jù)加寫鎖,直到所有的讀鎖釋放之后其他事務(wù)才能對其進(jìn)行加持寫鎖。共享鎖的特性主要是為了支持并發(fā)的讀取數(shù)據(jù),讀取數(shù)據(jù)的時候不支持修改,避免出現(xiàn)重復(fù)讀的問題。

排他鎖(exclusive lock)︰排他鎖又稱寫鎖,簡稱×鎖;當(dāng)一個事務(wù)為數(shù)據(jù)加上寫鎖時,其他請求將不能再為數(shù)據(jù)加任何鎖,直到該鎖釋放之后,其他事務(wù)才能對數(shù)據(jù)進(jìn)行加鎖。排他鎖的目的是在數(shù)據(jù)修改時候,不允許其他人同時修改,也不允許其他人讀取,避免了出現(xiàn)臟數(shù)據(jù)和臟讀的問題。

按粒度分:

行鎖:行鎖是指上鎖的時候鎖住的是表的某一行或多行記錄,其他事務(wù)訪問同一張表時,只有被鎖住的記錄不能訪問,其他的記錄可正常訪問,特點:粒度小,加鎖比表鎖麻煩,不容易沖突,相比表鎖支持的并發(fā)要高

表鎖(table lock):表鎖是指上鎖的時候鎖住的是整個表,當(dāng)下一個事務(wù)訪問該表的時候,必須等前一個事務(wù)釋放了鎖才能進(jìn)行對表進(jìn)行訪問;特點:粒度大,加鎖簡單,容易沖突;

頁鎖:頁級鎖是MysQL中鎖定粒度介于行級鎖和表級鎖中間的一種鎖.表級鎖速度快,但沖突多,行級沖突少,但速度慢。所以取了折衷的頁級,一次鎖定相鄰的一組記錄。特點:開銷和加鎖時間界于表鎖和行鎖之間,會出現(xiàn)死鎖;鎖定粒度界于表鎖和行鎖之間,并發(fā)度一般。

記錄鎖(Record lock):記錄鎖也屬于行鎖中的一種,只不過記錄鎖的范圍只是表中的某一條記錄,記錄鎖是說事務(wù)在加鎖后鎖住的只是表的某一條記錄,加了記錄鎖之后數(shù)據(jù)可以避免數(shù)據(jù)在查詢的時候被修改的重復(fù)讀問題,也避免了在修改的事務(wù)未提交前被其他事務(wù)讀取的臟讀問題

間隙鎖:是屬于行鎖的一種,間隙鎖是在事務(wù)加鎖后其鎖住的是表記錄的某一個區(qū)間,當(dāng)表的相鄰ID之間出現(xiàn)空隙則會形成一個區(qū)間,遵循左開右閉原則。范圍查詢并且查詢未命中記錄,查詢條件必須命中索引、間隙鎖只會出現(xiàn)在REPEATABLE_READ(重復(fù)讀)的事務(wù)級別中。

臨鍵鎖(Next-Key lock):也屬于行鎖的一種,并且它是INNODB的行鎖默認(rèn)算法,總結(jié)來說它就是記錄鎖和間隙鎖的組合,臨鍵鎖會把查詢出來的記錄鎖住,同時也會把該范圍查詢內(nèi)的所有間隙空間也會鎖住

WRITE-BUG研發(fā)團(tuán)隊衷心希望【W(wǎng)RITE-BUG數(shù)字空間】可以給每位同學(xué)一個屬于自己的秘密空間,同時祝愿大家在“公開圈子”世界里,遇見志同道合的伙伴們,因為我們與大家一樣,都曾孤獨前行著。


MySQL都有哪些鎖呢的評論 (共 條)

分享到微博請遵守國家法律
广安市| 托里县| 嘉鱼县| 阿尔山市| 富裕县| 渭南市| 花莲市| 乳山市| 遂平县| 丰原市| 连南| 沙坪坝区| 宣化县| 元江| 中阳县| 寿宁县| 渑池县| 宣武区| 嘉义县| 阿鲁科尔沁旗| 吴旗县| 八宿县| 攀枝花市| 巨野县| 缙云县| 旺苍县| 西盟| 五指山市| 焉耆| 保定市| 玉龙| 谷城县| 达孜县| 锦州市| 康平县| 商都县| 伽师县| 大姚县| 治多县| 湄潭县| 阿勒泰市|