資料庫的事務

2021-10-10 08:36:20 字數 1180 閱讀 3116

2. 讀取事務的問題(事務併發帶來的三大問題)

3、隔離級別

4、innodb引擎

事務是資料庫管理系統執行過程中乙個不可分割的邏輯單位

對資料庫的一系列操作,要麼成功,要麼失敗

原子性主要是通過undo log日誌來實現的,其記錄了修改之前的值,一旦發生異常就通過undo log日誌來實現回滾操作

資料庫的完整性約束沒有被破壞,事務執行的前後都是合法的資料狀態(比如轉賬前後資料的一致性),使用者自定義完整性(比如錢的資料不能出現負數)

多個事務之間的執行互不干擾

對資料庫的增刪改操作,只要事務提交了,那麼結果就是永久性的

永續性是通過 redo log 和 double write 雙寫緩衝來實現的

事務a查詢的資料在事務b(未提交)執行前後資料不一致

事務a查詢的資料在事務b提交(已經提交)前後資料不一致

乙個事務前後兩次讀取資料資料不一致,是由於其他事務插入資料造成的

幻讀是資料插入造成的,不可重複讀是修改或者刪除造成的

乙個事務可以讀取別的事務沒有提交的資料

乙個事務可以讀取別的事務已經提交的資料

乙個事務裡面多次讀取資料都是一樣的

所有的事務都是序列化執行的,需要排隊等待其他事務完成

事務的隔離級別是可重複讀,innodb解決了幻讀問題,既保證資料的一致性,又支援較高的併發度

4.1.1 基於鎖的併發控制 (lbcc)

要保持事務前後讀取的資料一致,可以鎖住當前我們所操作的事務,不允許其他事務修改即可

4.1.2 mcvv(多版本的併發控制)

mvcc,是儲存資料在某個時間點的快照讀來實現的,利用undo-log日誌實現

每個資料行都有乙個隱藏的回滾指標,用於指向該行資料最後一次修改的歷史版本

資料庫的事務

一 mysql事務 事務 邏輯上的一組操作,組成這組操作的單元,要麼都成功,要麼都不成功。mysql事務 jdbc如何控制事務 事務的特性 重點 acid 原子性 指事務是乙個不可分割的單位,事務中的操作要麼都發生,要麼都不發生 一致性 事務必須使資料從乙個一致性狀態轉化到另乙個一致性狀態 隔離性 ...

資料庫的事務

事務是指對系統的一組操作,它具有原子性,一致性,隔離性,永續性。原子性是指這組操作要麼全部成功,要麼全部失敗。一致性是指事務將系統從乙個一致狀態轉換到另乙個一致狀態。隔離性是指併發事務之間互相影響的程度。事務的隔離性有四個級別 read uncommitted 最低的隔離級別,什麼都不需要做,乙個事...

資料庫的事務

資料庫的四大特性acid,原子性 一致性 隔離性 永續性。每個特性都有其特定的職責。2.1 原子性 乙個事務中的所有操作,要不 操作全部成功,要不全部失敗,不能存在中間態。2.2 一致性 事務必須使得資料庫從乙個一致性狀態轉變到另乙個一致性狀態。比如銀行轉賬,a賬戶轉到b賬戶,不管轉幾次,a和b賬戶...