事務相關的概念

2021-08-03 22:19:27 字數 923 閱讀 3791

1. 什麼是事務

* 事務就是邏輯上的一組操作,組成事務的各個執行單元,操作要麼全都成功,要麼全都失敗.

* 轉賬的例子:冠希給美美轉錢,扣錢,加錢。兩個操作組成了乙個事情!

2. 事務的特性

* 原子性

-- 事務不可分割.

* 一致性

-- 事務執行的前後資料的完整性保持一致.

* 隔離性

-- 乙個事務執行的過程中,不應該受到其他的事務的干擾.

* 永續性

-- 事務一旦提交,資料就永久保持到資料庫中.

3. 如果不考慮隔離性:引發一些讀的問題

* 髒讀

-- 乙個事務讀到了另乙個事務未提交的資料.

* 不可重複讀

-- 乙個事務讀到了另乙個事務已經提交的update資料,導致多次查詢結果不一致.

* 虛讀

-- 乙個事務讀到了另乙個事務已經提交的insert資料,導致多次查詢結構不一致.

4. 通過設定資料庫的隔離級別來解決上述讀的問題

* 未提交讀:以上的讀的問題都有可能發生.

* 已提交讀:避免髒讀,但是不可重複讀,虛讀都有可能發生.

* 可重複讀:避免髒讀,不可重複讀.但是虛讀是有可能發生.

* 序列化:以上讀的情況都可以避免.

5. 如果想在hibernate的框架中來設定隔離級別,需要在hibernate.cfg.xml的配置檔案中通過標籤來配置

* 通過:hibernate.connection.isolation = 4 來配置

* 取值

* 1—read uncommitted isolation

* 2—read committed isolation

* 4—repeatable read isolation

* 8—serializable isolation

MySQL事務相關概念,特點

1 事務的概念 事務 一組邏輯操作單元,使資料從一種狀態變換到另一種狀態。事務處理 事務操作 保證所有事務都作為乙個工作單元來執行,即使出現了故障,都不能改變這種執行方式。當在乙個事務中執行多個操作時,要麼所有的事務都被提交 commit 那麼這些修改就永久地儲存下來 要麼資料庫管理系統將放棄所作的...

mysql事務相關概念和操作

改變當前db use dbname mysql 事務處理主要有兩種方法 1 用 begin,rollback,commit來實現 begin 開始乙個事務 rollback 事務回滾 commit 事務確認 2 直接用 set 來改變 mysql 的自動提交模式 set autocommit 0 禁...

事務 本地事務 分布式事務相關概念簡介

事務 直白的說就是一系列操作在外界看來就是一件事 只有兩種狀態 做好了 沒做,不與其他事有瓜葛 其特性acid分別是 原子性 一致性 隔離性 永續性。原子性 一系列操作不可分割,要麼全做完,要麼全部不做。一致性 本地事務的一致性與分布式事務的一致性存在一定差異,對於本地事務的一致性一般的解釋是滿足資...