五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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都有哪些鎖呢的評論 (共 條)

分享到微博請遵守國家法律
迁安市| 始兴县| 灵武市| 类乌齐县| 新密市| 交城县| 安平县| 漳平市| 巧家县| 安平县| 塔河县| 巴林左旗| 济宁市| 万盛区| 武功县| 茌平县| 连云港市| 札达县| 榆社县| 天峻县| 股票| 将乐县| 济阳县| 宾川县| 龙川县| 三门峡市| 龙里县| 延安市| 曲麻莱县| 三都| 肇州县| 南漳县| 夏津县| 和政县| 兴宁市| 乐安县| 三穗县| 淳化县| 广元市| 衡阳县| 曲水县|