資料庫特性及隔離級別說明

2021-10-23 07:24:54 字數 959 閱讀 9817

原子性(atomicity):原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼全部成功,要麼全部失敗。 

一致性(consistency):事務必須使資料庫從乙個一致性狀態變換到另外乙個一致性狀態。 

隔離性(isolation):多個使用者併發訪問資料庫時,資料庫為每乙個使用者開啟的事務,不能被其他事務的運算元據所干擾,多個併發事務之間要相互隔離。 

永續性(durability):永續性是指乙個事務一旦被提交,它對資料庫中資料的改變就是永久性的,接下來即使資料庫發生故障也不應該對其有任何影響。 

1.髒讀: 乙個事務讀取了另外乙個事務未提交的資料。 

2.不可重複讀:不可重複讀指在乙個事務內讀取表中的某一行資料,多次讀取結果不同。 

3.幻讀:虛讀(幻讀)是指在乙個事務內讀取到了別的事務插入的資料,導致前後讀取不一致。 

1.read uncommitted:乙個事務可以讀取另乙個未提交事務的資料,髒讀、不可重複度和幻讀均不可避免。 

2.read committed:乙個事務要等另乙個事務提交後才能讀取資料,可避免髒讀,不可重複度和幻讀不可避免。 

3.repeatable read:在開始讀取資料(事務開啟)時,不再允許修改操作(即不允許其他事務的update操作),可避免髒讀和不可重複度,但無法避免幻讀。 

4.serializable :最高的事務隔離級別,在該級別下,事務序列化順序執行,可以避免髒讀、不可重複讀與幻讀。但是這種事務隔離級別效率低下,比較耗資料庫效能,一般不使用。 

備註:大多數資料庫預設的事務隔離級別是read committed,比如sql server , oracle。mysql的預設隔離級別是repeatable read。在mysql資料庫中,支援上面四種隔離級別,預設的為repeatable read (可重複讀);而在oracle資料庫中,只支援serializable (序列化)級別和read committed (讀已提交)這兩種級別,

資料庫特性及隔離級別說明

一 事務的4大特性 acid 原子性 atomicity 原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼全部成功,要麼全部失敗。一致性 consistency 事務必須使資料庫從乙個一致性狀態變換到另外乙個一致性狀態。隔離性 isolation 多個使用者併發訪問資料庫時,資料庫為每乙個使...

資料庫特性和隔離級別的說明

一 事務的4大特性 acid 原子性 atomicity 原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼全部成功,要麼全部失敗。一致性 consistency 事務必須使資料庫從乙個一致性狀態變換到另外乙個一致性狀態。隔離性 isolation 多個使用者併發訪問資料庫時,資料庫為每乙個使...

Spring的事務隔離級別說明

1.default 預設值,由底層資料庫自動判斷隔離級別 2.read uncommitted 可以讀取未提交資料,可能出現髒讀 不可重複讀 幻讀。效率最高 3.read committed 只能讀取其他事務已經提交資料,可以防止髒讀 可能出現不可重複讀 幻讀 4.repeatable read 讀...