日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

3分钟了解数据库事务

發(fā)布時間:2023/12/4 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3分钟了解数据库事务 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

事務(wù)是由幾個讀取和修改數(shù)據(jù)的sql命令組成的,但是知道commit命令被執(zhí)行之后,修改操作才被認為是正常的完成。顯式事務(wù)常以Begin tran語句開頭,以commit tran或者rollback tran語句結(jié)尾的。

事務(wù)具有acid屬性

  • 原子性(atomicity):原子性指的是每個事務(wù)要不提交(commit)要不終止(rollback)。比如現(xiàn)實中的轉(zhuǎn)賬

  • 一致性(consistency):一致性屬性確保事務(wù)不允許系統(tǒng)到達一個不準(zhǔn)確的邏輯狀態(tài)-數(shù)據(jù)必須總是保持邏輯上的正確。及時在發(fā)生系統(tǒng)故障時,約束和規(guī)則也必須得到承兌。

  • 隔離性(isolation):隔離性會將并發(fā)事務(wù)與其他未完成事務(wù)的更新操作分離開。隔離性主要是解決并發(fā)事務(wù)出現(xiàn)的 臟讀、不可重復(fù)讀、幻讀現(xiàn)象,根據(jù)自己的業(yè)務(wù)場景選擇對應(yīng)的隔離級別;

  • 持久性(durability):當(dāng)事務(wù)提交以后,數(shù)據(jù)庫的持久性屬性就會確保事務(wù)的作用持續(xù)存在。

?事務(wù)總是全部支持這四種acid屬性的。但是可能會初選一些另外的行為,常叫做‘一致性問題’。他們僅僅可能存在的行為,而用戶對于隔離級別的選擇決定下列這些行為哪種是被允許的。

Case1

事務(wù)A,先執(zhí)行,處于未提交的狀態(tài)

?

事務(wù)B,后執(zhí)行

?

?如果事務(wù)B能夠讀取到(name為lisi)這條記錄,事務(wù)A就對事務(wù)B產(chǎn)生了影響,這個影響叫做“讀臟”,讀到了未提交事務(wù)操作的記錄。

Case2

事務(wù)A先執(zhí)行

?

?

事務(wù)B,后執(zhí)行,并且提交

?

事務(wù)A,在此執(zhí)行相同的查詢,結(jié)果namezhaosi

?

這次是已提交事務(wù)B對事務(wù)A產(chǎn)生的影響,這個影響叫做“不可重復(fù)讀”(重點為update),一個事務(wù)內(nèi)相同的查詢,得到了不同的結(jié)果。

?Case3

事務(wù)A,先執(zhí)行,1條結(jié)果:

?

事務(wù)B,后執(zhí)行,并且提交;

?

事務(wù)A,在此查詢?yōu)閮蓷l,莫名其妙多出了一條

?

這次是已提交事務(wù)B對事務(wù)A產(chǎn)生的影響,這個影響叫做幻讀”。重點在insert,delete

為了解決多個事務(wù)并發(fā)會引發(fā)的問題,進行并發(fā)控制。數(shù)據(jù)庫提供了四種事務(wù)隔離級別供用戶選擇。

  • Read Uncommitted?讀未提交

  • Read Committed?讀已提交

  • Repeatable Read?可重復(fù)讀

  • Serializable?串行化

?

總結(jié)

以上是生活随笔為你收集整理的3分钟了解数据库事务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。