MySql數(shù)據(jù)庫(kù)的事務(wù)與鎖

什么是事務(wù)?

事務(wù)就是transaction

我們可以用四個(gè)方面(ACID)去描述他!
A: atomicity 原子性 (一系列操作要么都完成,要么就都不完成)
C: consistency 一致性 (處理相同的字段,獲取同一個(gè)數(shù)值)
I: isolation 隔離性 (從應(yīng)用層的角度是隔離,底層的處理是通過(guò)鎖機(jī)制)
D: durability 持久性 (防止數(shù)據(jù)丟失,數(shù)據(jù)如何存儲(chǔ)相關(guān))

InnoDB 的鎖

InnoDB是支持到行鎖,但是也必須了解在進(jìn)行行鎖之前,會(huì)對(duì)表進(jìn)行加鎖的

Shared and Exclusive Locks (共享鎖和獨(dú)享鎖)

他們都是粒度,都是在行級(jí)別的鎖。
共享鎖:主要是在讀取一行數(shù)據(jù)的時(shí)候,會(huì)使用,當(dāng)其他用戶讀此行的時(shí)候,他們都會(huì)獲取這個(gè)共享鎖。
讀享鎖: 可以理解為排他鎖,主要在行數(shù)據(jù)更新或者刪除的時(shí)候,會(huì)使用的鎖。

如果當(dāng)前行數(shù)據(jù)被exclusive lock 了,那么必須等待其釋放,才能獲取共享鎖。

Intention Locks (目標(biāo)鎖)

粒度為表級(jí)別,分為兩種類(lèi)型:IS(intention shared lock) IX(intention exclusive lock)
目標(biāo)鎖是在行數(shù)據(jù)操作之前會(huì)進(jìn)行獲取。

Record Locks (記錄鎖)

主要用來(lái)對(duì)index序列進(jìn)行加鎖,防止對(duì)當(dāng)前數(shù)據(jù)的插入,更新和刪除

Gap Locks (間隙鎖)

間隙鎖可以理解為是為一段索引區(qū)間建立的鎖。

Next-Key Locks

結(jié)合記錄鎖和間隙鎖,對(duì)索引操作的鎖。

Insert Intention Locks (插入目標(biāo)鎖)

AUTO-INC Locks (自增鎖)

這個(gè)自增鎖是表級(jí)別的鎖,主要用于對(duì)某個(gè)字段進(jìn)行自增(auto increment)所使用的鎖.

Predicate Locks for Spatial Indexes

如何保證數(shù)據(jù)的一致性consistency呢?

  1. 使用鎖 2. InnoDB multiversion concurrency control (MVCC)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 為了充分發(fā)揮MySQL的性能并順利地使用,就必須理解其設(shè)計(jì)。MySQL的靈活性體現(xiàn)在很多方面。例如,你可以通過(guò)配置...
    李文文丶閱讀 1,314評(píng)論 0 4
  • 索引有哪些,用性別做聯(lián)合索引有沒(méi)有效果 MySQL官方對(duì)索引的定義為:索引(Index)是幫助MySQL高效獲取數(shù)...
    juexin閱讀 678評(píng)論 0 0
  • 很多人喜歡這篇文章,特此同步過(guò)來(lái) 由淺入深談?wù)搒pring事務(wù) 前言 這篇其實(shí)也要?dú)w納到《常識(shí)》系列中,但這重點(diǎn)又...
    碼農(nóng)戲碼閱讀 4,923評(píng)論 2 59
  • 索性邁過(guò)這道坎兒心里埋藏著秋索性用完所有的悲詞填不滿秋日里的愁 用一生追逐遇冷的風(fēng)拾撿墜落的紅果邁過(guò)涓涓秋水?dāng)y一杯...
    君涼閱讀 591評(píng)論 48 69
  • 愛(ài)鼎是一個(gè)13歲的男孩,,在他5歲的時(shí)候,父母相繼去世了。他是靠吃百家飯、穿百家衣長(zhǎng)大的,所以他跟村里的每個(gè)人都關(guān)...
    玉如藍(lán)閱讀 607評(píng)論 2 4

友情鏈接更多精彩內(nèi)容