国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)庫事務(wù)四大特性

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)庫事務(wù)四大特性。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

數(shù)據(jù)庫事務(wù)四大特性,數(shù)據(jù)庫事務(wù)的4大特性(ACID):

?

原子性(Atomicity):

?

事務(wù)是數(shù)據(jù)庫的邏輯工作單位,它對(duì)數(shù)據(jù)庫的修改要么全部執(zhí)行,要么全部不執(zhí)行。

?

一致性(Consistemcy):

?

事務(wù)前后,數(shù)據(jù)庫的狀態(tài)都滿足所有的完整性約束。

?

隔離性(Isolation):

?

并發(fā)執(zhí)行的事務(wù)是隔離的,一個(gè)不影響一個(gè)。如果有兩個(gè)事務(wù),運(yùn)行在相同的時(shí)間內(nèi),執(zhí)行相同的功能,事務(wù)的隔離性將確保每一事務(wù)在系統(tǒng)中認(rèn)為只有該事務(wù)在使用系統(tǒng)。這種屬性有時(shí)稱為串行化,為了防止事務(wù)操作間的混淆,必須串行化或序列化請(qǐng)求,使得在同一時(shí)間僅有一個(gè)請(qǐng)求用于同一數(shù)據(jù)。通過設(shè)置數(shù)據(jù)庫的隔離級(jí)別,可以達(dá)到不同的隔離效果。

?

持久性(Durability):

?

在事務(wù)完成以后,該事務(wù)所對(duì)數(shù)據(jù)庫所作的更改便持久的保存在數(shù)據(jù)庫之中,并不會(huì)被回滾。

?

并發(fā)事務(wù)引起的問題:

更新丟失:

?

兩個(gè)事務(wù)都同時(shí)更新一行數(shù)據(jù),但是第二個(gè)事務(wù)卻中途失敗退出,導(dǎo)致對(duì)數(shù)據(jù)的兩個(gè)修改都失效了。這是因?yàn)橄到y(tǒng)沒有執(zhí)行任何的鎖操作,因此并發(fā)事務(wù)并沒有被隔離開來。

?

臟讀:

?

臟讀又稱無效數(shù)據(jù)讀出。一個(gè)事務(wù)讀取另外一個(gè)事務(wù)還沒有提交的數(shù)據(jù)叫臟讀。

?

例如:事務(wù)T1修改了一行數(shù)據(jù),但是還沒有提交,這時(shí)候事務(wù)T2讀取了被事務(wù)T1修改后的數(shù)據(jù),之后事務(wù)T1因?yàn)槟撤N原因Rollback了,那么事務(wù)T2讀取的數(shù)據(jù)就是臟的。

?

不可重復(fù)讀:

?

不可重復(fù)讀是指在同一個(gè)事務(wù)內(nèi),兩個(gè)相同的查詢返回了不同的結(jié)果。

?

例如:事務(wù)T1讀取某一數(shù)據(jù),事務(wù)T2讀取并修改了該數(shù)據(jù),T1為了對(duì)讀取值進(jìn)行檢驗(yàn)而再次讀取該數(shù)據(jù),便得到了不同的結(jié)果。

?

幻讀:

?

事務(wù)在操作過程中進(jìn)行兩次查詢,第二次查詢的結(jié)果包含了第一次查詢中未出現(xiàn)的數(shù)據(jù)或者缺少了第一次查詢中出現(xiàn)的數(shù)據(jù)

?

例如:系統(tǒng)管理員A將數(shù)據(jù)庫中所有學(xué)生的成績(jī)從具體分?jǐn)?shù)改為ABCDE等級(jí),但是系統(tǒng)管理員B就在這個(gè)時(shí)候插入了一條具體分?jǐn)?shù)的記錄,當(dāng)系統(tǒng)管理員A改結(jié)束后發(fā)現(xiàn)還有一條記錄沒有改過來,就好像發(fā)生了幻覺一樣。這就叫幻讀。

?

事務(wù)的隔離級(jí)別:

以上的4種問題(更新丟失、臟讀、不可重復(fù)讀、幻讀)都和事務(wù)的隔離級(jí)別有關(guān)。通過設(shè)置事務(wù)的隔離級(jí)別,可以避免上述問題的發(fā)生。

?

未授權(quán)讀取級(jí)別:

?

也稱為讀未提交(Read Uncommitted)。

?

以操作同一行數(shù)據(jù)為前提,讀事務(wù)允許其他讀事務(wù)和寫事務(wù),未提交的寫事務(wù)禁止其他寫事務(wù)(但允許其他讀事務(wù))。

?

此隔離級(jí)別可以防止更新丟失,但不能防止臟讀、不可重復(fù)讀、幻讀。

?

此隔離級(jí)別可以通過“排他寫鎖”實(shí)現(xiàn)。

?

授權(quán)讀取級(jí)別:

?

也稱為讀提交(Read Committed)。

?

以操作同一行數(shù)據(jù)為前提,讀事務(wù)允許其他讀事務(wù)和寫事務(wù),未提交的寫事務(wù)禁止其他讀事務(wù)和寫事務(wù)。

?

此隔離級(jí)別可以防止更新丟失、臟讀,但不能防止不可重復(fù)讀、幻讀。

?

此隔離級(jí)別可以通過“瞬間共享讀鎖”和“排他寫鎖”實(shí)現(xiàn)。

?

可重復(fù)讀取級(jí)別:

?

可重復(fù)讀?。≧epeatable Read)。

?

以操作同一行數(shù)據(jù)為前提,讀事務(wù)禁止其他寫事務(wù)(但允許其他讀事務(wù)),未提交的寫事務(wù)禁止其他讀事務(wù)和寫事務(wù)。

?

此隔離級(jí)別可以防止更新丟失、臟讀、不可重復(fù)讀,但不能防止幻讀。

?

此隔離級(jí)別可以通過“共享讀鎖”和“排他寫鎖”實(shí)現(xiàn)。

?

序列化級(jí)別:

?

序列化(Serializable)。

?

提供嚴(yán)格的事務(wù)隔離。它要求事務(wù)序列化執(zhí)行,事務(wù)只能一個(gè)接著一個(gè)地執(zhí)行,不能并發(fā)執(zhí)行。

?

此隔離級(jí)別可以防止更新丟失、臟讀、不可重復(fù)讀、幻讀。

?

如果僅僅通過“行級(jí)鎖”是無法實(shí)現(xiàn)事務(wù)序列化的,必須通過其他機(jī)制保證新插入的數(shù)據(jù)不會(huì)被剛執(zhí)行查詢操作的事務(wù)訪問到。

?

隔離級(jí)別越高,越能保證數(shù)據(jù)的完整性和一致性,但是對(duì)并發(fā)性能的影響也越大。對(duì)于多數(shù)應(yīng)用程序,可以優(yōu)先考慮把數(shù)據(jù)庫系統(tǒng)的隔離級(jí)別設(shè)為Read Committed。它能夠避免更新丟失、臟讀,而且具有較好的并發(fā)性能。盡管它會(huì)導(dǎo)致不可重復(fù)讀、幻讀這些并發(fā)問題,在可能出現(xiàn)這類問題的個(gè)別場(chǎng)合,可以由應(yīng)用程序采用悲觀鎖或樂觀鎖來控制。文章來源地址http://www.zghlxwxcb.cn/news/detail-678811.html

到了這里,關(guān)于數(shù)據(jù)庫事務(wù)四大特性的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 事務(wù)四大特性

    ACID :如果一個(gè)數(shù)據(jù)庫支持事務(wù)的操作,那么該數(shù)據(jù)庫必須要具備以下四個(gè)特性 1、原子性(Atomicity) 事務(wù)包含的所有操作要么全部成功,要么全部失敗回滾,因此事務(wù)的操作如果成功就必須要完全應(yīng)用到數(shù)據(jù)庫,如果操作失敗則不能對(duì)數(shù)據(jù)庫有任何影響 2、一致性(Consistenc

    2024年02月04日
    瀏覽(27)
  • Spring事務(wù)的四大特性+事務(wù)的傳播機(jī)制+隔離機(jī)制

    Spring事務(wù)的四大特性+事務(wù)的傳播機(jī)制+隔離機(jī)制

    原子性是指事務(wù)是一個(gè)不可分割的工作單位,事務(wù)中的操作要么都發(fā)生,要么都不發(fā)生。 事務(wù)是一個(gè)原子操作, 由一系列動(dòng)作組成。 組成一個(gè)事務(wù)的多個(gè)數(shù)據(jù)庫操作是一個(gè)不可分割的原子單元 ,只有所有的操作執(zhí)行成功,整個(gè)事務(wù)才提交。 事務(wù)中的任何一個(gè)數(shù)據(jù)庫操作失敗

    2024年01月20日
    瀏覽(32)
  • MySQL 篇-深入了解事務(wù)四大特性及原理

    MySQL 篇-深入了解事務(wù)四大特性及原理

    ??博客主頁:?【 小扳_-CSDN博客】 ?感謝大家點(diǎn)贊??收藏?評(píng)論? ??? 文章目錄 ????????1.0 事務(wù)的概述 ????????2.0 事務(wù)的特性 ? ? ? ? 2.1 原子性 ? ? ? ? 2.2 一致性 ? ? ? ? 2.3 持久性 ? ? ? ? 2.4 隔離性 ? ? ? ? 2.4.1 臟讀問題 ? ? ? ? 2.4.2 不可重復(fù)讀問題 ?

    2024年03月22日
    瀏覽(23)
  • 【面試題】MySQL 事務(wù)的四大特性說一下?

    【面試題】MySQL 事務(wù)的四大特性說一下?

    事務(wù)是一個(gè)或多個(gè) SQL 語句組成的一個(gè)執(zhí)行單元,這些 SQL 語句要么全部執(zhí)行成功,要么全部不執(zhí)行,不會(huì)出現(xiàn)部分執(zhí)行的情況。事務(wù)是數(shù)據(jù)庫管理系統(tǒng)執(zhí)行過程中的一個(gè)邏輯單位,由一個(gè)有限的數(shù)據(jù)庫操作序列構(gòu)成。 事務(wù)的主要作用是保證數(shù)據(jù)庫操作的一致性,即事務(wù)內(nèi)的

    2024年04月22日
    瀏覽(21)
  • 數(shù)據(jù)庫——事務(wù),事務(wù)隔離級(jí)別

    數(shù)據(jù)庫——事務(wù),事務(wù)隔離級(jí)別

    什么是事務(wù)? 事務(wù)是邏輯上的一組操作,要么都執(zhí)行,要么都不執(zhí)行。 事務(wù)最經(jīng)典也經(jīng)常被拿出來說例子就是轉(zhuǎn)賬了。假如小明要給小紅轉(zhuǎn)賬1000元,這個(gè)轉(zhuǎn)賬會(huì)涉及到兩個(gè)關(guān)鍵操作就是:將小明的余額減少1000元,將小紅的余額增加1000元。萬一在這兩個(gè)操作之間突然出現(xiàn)錯(cuò)誤

    2024年02月11日
    瀏覽(25)
  • 【數(shù)據(jù)庫】Python腳本實(shí)現(xiàn)數(shù)據(jù)庫批量插入事務(wù)

    【數(shù)據(jù)庫】Python腳本實(shí)現(xiàn)數(shù)據(jù)庫批量插入事務(wù)

    在工作中可能會(huì)遇到需要批量插入的場(chǎng)景, 而批量插入的過程具有 耗時(shí)長(zhǎng) 的特點(diǎn), 再此過程很容易出現(xiàn)程序崩潰的情況.為了解決插入大量數(shù)據(jù)插入后崩潰導(dǎo)致 已插入數(shù)據(jù)無法清理 及 未插入數(shù)據(jù)無法篩出 的問題, 需要編寫一個(gè)腳本記錄已插入和未插入的數(shù)據(jù), 并可以根據(jù)記錄

    2024年02月08日
    瀏覽(19)
  • spring事務(wù)和數(shù)據(jù)庫事務(wù)是怎么實(shí)現(xiàn)

    Spring事務(wù)的本質(zhì)其實(shí)就是數(shù)據(jù)庫對(duì)事務(wù)的支持,沒有數(shù)據(jù)庫的事務(wù)支持,spring是無法提供事務(wù)功能的。對(duì)于純JDBC操作數(shù)據(jù)庫,想要用到事務(wù),可以按照以下步驟進(jìn)行: 獲取連接 Connection con = DriverManager.getConnection() 開啟事務(wù)con.setAutoCommit(true/false); 執(zhí)行CRUD 提交事務(wù)/回滾事務(wù)

    2024年02月13日
    瀏覽(27)
  • 02--數(shù)據(jù)庫事務(wù)

    02--數(shù)據(jù)庫事務(wù)

    事務(wù):一組邏輯操作單元,使數(shù)據(jù)從一種狀態(tài)變換到另一種狀態(tài)。 事務(wù)處理(事務(wù)操作): 保證所有事務(wù)都作為一個(gè)工作單元來執(zhí)行,即使出現(xiàn)了故障,都不能改變這種執(zhí)行方式。當(dāng)在一個(gè)事務(wù)中執(zhí)行多個(gè)操作時(shí),要么所有的事務(wù)都 被提交(commit) ,那么這些修改就永久地保存

    2024年01月20日
    瀏覽(36)
  • 數(shù)據(jù)庫事務(wù)

    數(shù)據(jù)庫事務(wù)

    目錄 一.事務(wù) 1.為什么要存在事務(wù) 2.什么是事務(wù) 3.事務(wù)的特性(ACID) 4.MySQL中事務(wù)的使用 二.事務(wù)的隔離級(jí)別 1.什么是隔離級(jí)別 2.隔離級(jí)別的分類 3.不同隔離級(jí)別的現(xiàn)象 4.MySQL中設(shè)置隔離級(jí)別 5. 四種隔離級(jí)別和鎖 1.READ-UNCOMMITED 2.READ-COMMITED 3.REPEATABLE-READ 4.SERIALIZABLE 剛開始我們拿一

    2024年02月02日
    瀏覽(18)
  • 【MySQL數(shù)據(jù)庫】事務(wù)

    【MySQL數(shù)據(jù)庫】事務(wù)

    事務(wù)是一種機(jī)制、一個(gè)操作序列,包含了一組數(shù)據(jù)庫操作命令,并且把所有的命令作為一個(gè)整體,一起向系統(tǒng)提交或撤銷操作請(qǐng)求,即這一組數(shù)據(jù)庫命令要么都執(zhí)行,要么都不執(zhí)行。 事務(wù)是一個(gè)不可分割的工作邏輯單元。在數(shù)據(jù)庫系統(tǒng)上執(zhí)行并發(fā)操作時(shí),事務(wù)是最小的控制單

    2024年02月09日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包