帶你了解資料庫中事務的ACID特性

2021-09-24 08:15:20 字數 1111 閱讀 4556

前面我們介紹過資料庫中 帶你了解資料庫中join的用法 與 帶你了解資料庫中group by的用法 的相關用法。本章節主要來介紹下資料庫中乙個非常重要的知識點事務,也是我們專案中或面試中經常會遇到的知識點。如有錯誤還請大家及時指出~

涉及面試題:

以下都是採用mysql資料庫

事務(transaction),是我們關係型資料庫中非常重要的乙個概念,它要符合acid特性。是由一組sql語句組成的乙個程式執行單元(unit),該執行單元要麼成功commit,要麼失敗rollback。

原子性:指事務是乙個不可再分割的工作單元,事務中的操作要麼都發生,要麼都不發生。 通俗的說:我們有一堆的事情,它要麼全做,要麼全都不做,不能只做一半。比如我們的銀行轉賬。我把錢轉給你,把我的錢扣掉,然後把你的錢加上去。不能只做一半,只把我的錢扣掉,你的錢沒有加上去。

一致性指事務開始之前和事務結束以後,資料庫的完整性約束沒有被破壞。 通俗的說:我和你的錢加起來一共是2000,那麼不管我和你之間如何轉賬,轉幾次賬,事務結束後我們的錢相加起來應該還得是2000,這就是事務的一致性。

隔離性指多個事務併發訪問時,事務之間是隔離的,乙個事務不應該影響其它事務執行效果。 通俗的說:多個使用者併發訪問操作同一張表時,資料庫為每乙個使用者開啟的事務,不能被其他事務的操作所干擾,多個併發事務之間要相互隔離。

資料庫定義了4個隔離的級別:

下篇文章我們將專門介紹事務的隔離性

永續性指事務所對資料庫所作的更改便持久的儲存在資料庫之中,並不會被回滾。 通俗的說:比如我將事務做完之後,這個結果是能持久下去的並能一直存下去。不管斷電還是其他情況。

關係型資料庫都實現了acid這樣的一些事務特性。其中最關鍵的一點是isolation(隔離性),互相不影響。

帶你了解資料庫中join的用法

帶你了解資料庫中group by的用法

一篇帶你讀懂tcp之「滑動視窗」協議

github個人主頁目錄

gitee個人主頁目錄

資料庫事務ACID

1.原子性 atomicity 原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。2.一致性 consistency 事務必須使資料庫從乙個一致性狀態變換到另外乙個一致性狀態。3.隔離性 isolation 事務的隔離性是指乙個事務的執行不能被其他事務干擾,即乙個事務內部...

資料庫事務 ACID

資料庫事務 acid 1.原子性 atomicity 乙個事務必須被視為乙個不可分割的最小工作單元,整個事務中的所有操作要麼全部提交成功,要麼全部失敗回滾。對於乙個事務來說,不可能只執行其中的一部分操作,這就是事物的原子性。2.一致性 consistency 資料庫總是從乙個一致性的狀態轉換到另外乙...

資料庫事務 ACID

事務 乙個操作,乙個要執行sql語句,要麼執行,要麼不執行,是乙個不可分割的工作單位。有如下特性 a 原子性 atomicity c 一致性 consistency i 隔離性 isolation d 永續性 durability 先理解資料庫的一致性 參考這篇部落格 考慮如下場景 公司給員工發工資...