MYSQL數(shù)據(jù)庫事務的隔離級別有4個,由低到高依次為Read uncommitted 、Read committed 、Repeatable read 、Serializable ,這四個級別可以逐個解決臟讀 、不可重復讀 、幻讀 這幾類問題。
√: 可能出現(xiàn) ×: 不會出現(xiàn)
|
臟讀 |
不可重復讀 |
幻讀 |
Read uncommitted |
√ |
√ |
√ |
Read committed |
× |
√ |
√ |
Repeatable read |
× |
× |
√ |
Serializable |
× |
× |
× |
總結(jié)
Read uncommitted允許讀取未提交的數(shù)據(jù)。
Read committed 只能讀取已經(jīng)提交的數(shù)據(jù),但是在讀取的時候別人可能正在修改數(shù)據(jù)庫的信息,再次讀取發(fā)現(xiàn)兩次信息不一致
Repeatable read 只能讀取已經(jīng)提交的數(shù)據(jù)。自己操作數(shù)據(jù)庫的時候不允許別人讀和更新
Serializable 自己操作數(shù)據(jù)庫的時候不允許別人任何操作
作者:傳智播客JavaEE培訓學院