資料庫隔離級別

四種級別

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

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

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

>> SQL Server、Oracle、PostgreSQL

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

>> MySQL

最高 - SERIALIZABLE - 序列化

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

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

N 快照隔離

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

隔離級別/併發問題

Lost update

Dirty read

Unrepeatable read

Phantom read

Read_Uncommitted

有效

Read_Committed

有效

有效

Repeatable_Read

有效

有效

有效

Serializable

有效

有效

有效

有效

併發問題

更新遺失(Lost update)

更新遺失(Lost update)

髒讀 (Dirty read)

髒讀(Dirty Read)

無法重複的讀取(Unrepeatable read)

無法重複的讀取(Unrepeatable Read)

幻讀(Phantom read)

幻讀(Phantom read)

參考資料

Last updated

Was this helpful?