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