資料庫隔離級別

四種級別

最低 - READ_UNCOMMITTED - 只可以讀取未提交

>> (問題太多,一般資料庫不使用)

----- - READ_COMMITTED - 只可以讀取已提交

>> SQL Server、Oracle、PostgreSQL

----- - REPEATABLE_READ - 可以重複讀

>> MySQL

最高 - SERIALIZABLE - 序列化

>> (太耗費效能,一般資料庫不使用)

部分資料庫出的快照隔離(snapshot isolation,SI),一般採用多版本並發控制(MVCC)。

N 快照隔離chevron-right

隔離級別與其可預防的問題

隔離級別/併發問題

Lost update

Dirty read

Unrepeatable read

Phantom read

Read_Uncommitted

有效

Read_Committed

有效

有效

Repeatable_Read

有效

有效

有效

Serializable

有效

有效

有效

有效

併發問題

更新遺失(Lost update)

更新遺失(Lost update)chevron-right

髒讀 (Dirty read)

髒讀(Dirty Read)chevron-right

無法重複的讀取(Unrepeatable read)

無法重複的讀取(Unrepeatable Read)chevron-right

幻讀(Phantom read)

幻讀(Phantom read)chevron-right

參考資料

Last updated