事务的特性和隔离级别
1、事務(wù)的特性:(面試題)
l?原子性:處于同一個(gè)事務(wù)中的多條語(yǔ)句,要么全都成功,要么全都不成成功。
l?一致性:事務(wù)必須使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變換到另外一個(gè)一致性狀態(tài)。比如轉(zhuǎn)賬:轉(zhuǎn)賬前a+b=2000,轉(zhuǎn)賬后a+b=2000
l?隔離性:多線程并發(fā)時(shí),一個(gè)事務(wù)不能被其他事務(wù)所干擾。
l?持久性:數(shù)據(jù)應(yīng)該被永久性的保存起來(lái)。(硬盤,而不是內(nèi)存)
ACID
2、事務(wù)的隔離性專題
如果不考慮事務(wù)的隔離性,會(huì)導(dǎo)致以下不正確的問(wèn)題:
a、臟讀:指一個(gè)事務(wù)讀到了另外一個(gè)事務(wù)中未提交的數(shù)據(jù)
b、不可重復(fù)讀:指一個(gè)事務(wù)讀到了另外一個(gè)事務(wù)update后(事務(wù)提交了)的數(shù)據(jù)
c、虛讀:指一個(gè)事務(wù)讀到了另外一個(gè)事務(wù)insert的數(shù)據(jù)
?
3、演示操作:
3.1數(shù)據(jù)庫(kù)控制隔離級(jí)別相關(guān)的語(yǔ)句(必須用在事務(wù)之中):
?
數(shù)據(jù)庫(kù)有四個(gè)隔離級(jí)別:
READ?UNCOMMITTED:臟讀、不可重復(fù)讀、虛讀都有可能發(fā)生。
READ?COMMITTED:防止臟讀發(fā)生;不可重復(fù)讀、虛讀都有可能發(fā)生。
REPEATABLE?READ:(MySQL默認(rèn)級(jí)別)防止臟讀、不可重復(fù)讀;虛讀有可能發(fā)生。
SERIALIZABLE:防止臟讀、不可重復(fù)讀、虛讀的發(fā)生
?
特點(diǎn):從上到下,隔離級(jí)別越高,數(shù)據(jù)越安全,但是效率越低
?
select?@@tx_isolation; 查看當(dāng)前數(shù)據(jù)庫(kù)的隔離級(jí)別
set?transaction??isolation??level?四個(gè)級(jí)別之一;更改當(dāng)前事務(wù)的隔離級(jí)別
?
轉(zhuǎn)載于:https://www.cnblogs.com/baijin05/p/5073383.html
總結(jié)
以上是生活随笔為你收集整理的事务的特性和隔离级别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深信服桌面云(aDesk)学习笔记
- 下一篇: 计算机三级网络技术备考复习资料zhuan