事務(wù)

1. 什么是事務(wù)?

事務(wù)是邏輯上的一組操作,這些操作是作為一個(gè)整體來(lái)執(zhí)行的;如果其中任何一個(gè)操作失敗,則整個(gè)事務(wù)都將回滾,即還原到操作前的狀態(tài)。

2.事務(wù)具有四個(gè)特征ACID

a)原子性(Atomicity)
?整個(gè)事務(wù)中的所有操作,必須作為一個(gè)單元全部完成(或全部取消)。
b)一致性(Consistency)
?在事務(wù)開(kāi)始之前與結(jié)束之后,數(shù)據(jù)庫(kù)都保持一致?tīng)顟B(tài)。
c)隔離性(Isolation)
?一個(gè)事務(wù)不會(huì)影響其他事務(wù)的運(yùn)行。
d)持續(xù)性/持久性(Durability)
?在事務(wù)完成以后,該事務(wù)對(duì)數(shù)據(jù)庫(kù)所作的更改將持久地保存在數(shù)據(jù)庫(kù)之中,并不會(huì)被回滾。

3. 事務(wù)的隔離級(jí)別有哪些?

答:事務(wù)的隔離級(jí)別包括:讀未提交(Read Uncommitted)、讀已提交(Read Committed)、可重復(fù)讀(Repeatable Read)和串行化(Serializable)。不同的隔離級(jí)別在并發(fā)訪問(wèn)情況下會(huì)表現(xiàn)出不同的行為。

4. 數(shù)據(jù)庫(kù)鎖有哪些類(lèi)型?

答:數(shù)據(jù)庫(kù)鎖包括行級(jí)鎖、表級(jí)鎖和頁(yè)級(jí)鎖。在不同的場(chǎng)景下使用不同的鎖可以提高數(shù)據(jù)庫(kù)的并發(fā)性能。

5. 什么是死鎖?

答:死鎖是指兩個(gè)或兩個(gè)以上的事務(wù)都在等待一個(gè)資源而無(wú)法繼續(xù)執(zhí)行的情況。這種情況下,每個(gè)事務(wù)都在等待另一個(gè)事務(wù)釋放資源,導(dǎo)致兩個(gè)事務(wù)都無(wú)法完成,進(jìn)而導(dǎo)致系統(tǒng)無(wú)響應(yīng)。為避免死鎖,通常需要應(yīng)用鎖定策略來(lái)保障事務(wù)間的并發(fā)訪問(wèn)。

6.數(shù)據(jù)庫(kù)中 臟讀、幻讀、不可重讀是什么意思?

臟讀、幻讀、不可重復(fù)讀是關(guān)系型數(shù)據(jù)庫(kù)中的并發(fā)控制問(wèn)題,以下是它們的解釋?zhuān)?/p>

  1. 臟讀(Dirty Read):一個(gè)事務(wù)讀取了另一個(gè)事務(wù)未提交的數(shù)據(jù),如果另一個(gè)事務(wù)回滾,則原事務(wù)讀取的數(shù)據(jù)變?yōu)闊o(wú)效數(shù)據(jù)。比如,事務(wù)1開(kāi)始讀取數(shù)據(jù),事務(wù)2修改該數(shù)據(jù)并未提交,事務(wù)1讀取到的數(shù)據(jù)是無(wú)效的,因?yàn)槭聞?wù)1所讀取的數(shù)據(jù)實(shí)際上還沒(méi)有被提交到數(shù)據(jù)庫(kù)。
  2. 幻讀(Phantom Read):一個(gè)事務(wù)執(zhí)行相同的查詢(xún)條件兩次返回不同的結(jié)果。比如,事務(wù)1執(zhí)行一個(gè)SELECT語(yǔ)句,并按條件排列返回結(jié)果集,事務(wù)2對(duì)表中的數(shù)據(jù)插入一些新的行,此時(shí),事務(wù)1再次執(zhí)行相同的SELECT語(yǔ)句,結(jié)果集不同,因?yàn)樾虏迦氲男斜慌旁诹饲懊妗?/li>
  3. 不可重復(fù)讀(Non-repeatable Read):一個(gè)事務(wù)執(zhí)行相同的查詢(xún)條件兩次返回不同的結(jié)果。這與幻讀類(lèi)似,但幻讀指的是新增或刪除數(shù)據(jù)引起的不一致,而不可重復(fù)讀則是修改數(shù)據(jù)引起的不一致。
    這些問(wèn)題都與并發(fā)事務(wù)有關(guān)。并發(fā)事務(wù)意味著多個(gè)事務(wù)同時(shí)訪問(wèn)同一個(gè)資源,比如數(shù)據(jù)庫(kù)中的數(shù)據(jù)。為了解決并發(fā)事務(wù)帶來(lái)的問(wèn)題,數(shù)據(jù)庫(kù)提供了鎖機(jī)制,通過(guò)加鎖和釋放鎖來(lái)控制并發(fā)訪問(wèn)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容