mysql數據庫面試——事務

第一大點!

事務的四大特性:
要是ACID是什麼意思都不知道,兄die,這會面試估計就要涼涼了。
那ACID到底是什麼呢?讓我們通過例子理解我們的ACID到底是何方神聖。

A 代表—— 原子性:事務的操作要麼完全成功,要麼回滾。
例如:事務開啓,購物車添加一件商品,商家庫存減一,用戶點擊結算,並付款。此次事務完成。最終就是商家庫存減一,並且錢包加money。

設想:假如庫存減一 和 錢包加money只成功了一個。前者是用戶開心,後者商家開心。這樣就不公平了不是嗎!!所以原子性就是要麼都成功,要麼全部失敗!

C 代表—— 一致性:事務發生前後,數據庫從一種一致的狀態轉換成另一種一致的狀態。
例如:事務開始,你現在有一張5塊錢,一張10塊錢,都在你的左口袋裏。你現在要將左口袋裏的錢拿出來,放進右口袋。一次只能轉移一張錢哦!兩次轉移完畢。左口袋沒有錢,右口袋有15快錢。事務結束。

設想:如果在你轉移錢的過程中,一張5塊錢或者一張10塊錢或者兩張錢都消失了,我估計你以後再也不會用把錢拿出來了,難道天氣這麼熱!我的錢氣化了?(幻想中)。這樣的情況我們無論如何都是不希望發生的!!因此,一致性之前我有15塊錢,轉移之後還是有15塊錢。事務執行前後,數據的總量一致。

I 代表—— 隔離性:多個事務同時執行,但是互無影響。
例如:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章