2019-01-29
閱讀量:
775
什么叫做“事務(wù)”
想象一個場景:
小明給小花 匯款 5000元 買 IPHONE,操作界面不用管,不管什么操作界面,最終都要落實到這樣兩條語句的執(zhí)行:
update? 存款表? set? money = money - 5000? where? 賬戶=’小明’;
update? 存款表? set? money = money + 5000? where? 賬戶=’小花’;
當(dāng),第一條語句執(zhí)行成功,突然斷電了(或任何其他情況),就會造成數(shù)據(jù)的“不一致”。
要解決這個問題,就是“事務(wù)”的功能:
事務(wù)就是用來保證多條“增刪改”語句的執(zhí)行的“一致性”:要么都執(zhí)行完成,要么都沒有執(zhí)行;
事務(wù)的特點:
- 原子性:一個事務(wù)中的所有語句,應(yīng)該做到:要么全做,要么一個都不做;
- 一致性:讓數(shù)據(jù)保持邏輯上的“合理性”,比如:一個商品出庫時,既要讓商品庫中的該商品數(shù)量減1,又要讓對應(yīng)用戶的購物車中的該商品加1;
- 隔離性:如果多個事務(wù)同時并發(fā)執(zhí)行,但每個事務(wù)就像各自獨立執(zhí)行一樣。
- 持久性:一個事務(wù)執(zhí)行成功,則對數(shù)據(jù)來說應(yīng)該是一個明確的硬盤數(shù)據(jù)更改(而不僅僅是內(nèi)存中的變化)。






評論(0)


暫無數(shù)據(jù)
推薦帖子
0條評論
1條評論
0條評論