1. 事務的acid
資料庫的事務必須具備acid特性,acid是指 atomic(原子性)、consistensy(一致性)、isolation(隔離型)和durability(永續性)的英文縮寫。
2. 事務的隔離級別
如果不考慮事務的隔離型,由於事務的併發,將會出現以下問題:
1、髒讀 – 最嚴重,杜絕發生
2、不可重複讀
3、幻讀(虛讀)
1.1髒讀
指乙個事務讀取了另外乙個事務 未提交的資料。
乙個事務讀取了另乙個事務沒有提交的資料,非常嚴重。應當盡量避免髒讀。
1.2不可重複讀
在乙個事務內多次讀取表中的資料,多次讀取的結果不同。
1.3幻讀
隔離級別:解決問題
安全和效能對比
安全性:serializable > repeatable read > read committed > read uncommitted
效能 : serializable < repeatable read < read committed < read uncommitted
常見資料庫的預設隔離級別:
mysql:repeatable read
oracle:read committed
事務特性(ACID)
原子性 是指事務乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。不能夠單獨執行。把一組操作放入事務中 一致性 事務的執行的前後,資料的完整性要得到保證。隔離性 強調的是多個使用者併發訪問資料庫的時候,乙個使用者事務不能被其他使用者的事務所干擾到,多個併發事務之間的資料要相互隔離。解決多...
事務ACID特性
所謂事務,它是乙個操作序列,這些操作要麼都執行,要麼都不執行,它是乙個不可分割的工作單位。例如,銀行轉帳工作 從乙個帳號扣款並使另乙個帳號增款,這兩個操作要麼都執行,要麼都不執行。資料庫事務必須具備acid特性,acid是atomic 原子性 consistency 一致性 isolation 隔離...
事務ACID特性
所謂事務,它是乙個操作序列,這些操作要麼都執行,要麼都不執行,它是乙個不可分割的工作單位。例如,銀行轉帳工作 從乙個帳號扣款並使另乙個帳號增款,這兩個操作要麼都執行,要麼都不執行。資料庫事務必須具備acid特性,acid是atomic 原子性 consistency 一致性 isolation 隔離...