好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Mysql事務特性和級別原理解析

Mysql事務特性和級別原理解析

熱門標簽:云南語音外呼系統平臺 北京人工外呼系統價錢 常州電銷外呼系統一般多少錢 房產智能外呼系統品牌 天智外呼系統 沃克斯電梯外呼線路圖 地圖標注被騙三百怎么辦 400電話鄭州申請 福州呼叫中心外呼系統哪家好

一、什么是事務?

數據庫事務(簡稱:事務)是數據庫管理系統執行過程中的一個邏輯單位,由一個有限的數據庫操作序列構成。

二、事務的四大屬性

分別是原子性、一致性、隔離性、持久性。

1、原子性(Atomicity)

原子性是指事務包含的所有操作要么全部成功,要么全部失敗回滾,因此事務的操作如果成功就必須要完全應用到數據庫,如果操作失敗則不能對數據庫有任何影響。

2、一致性(Consistency)

一致性是指事務必須使數據庫從一個一致性狀態變換到另一個一致性狀態,也就是說一個事務執行之前和執行之后都必須處于一致性狀態。舉例來說,假設用戶A和用戶B兩者的錢加起來一共是1000,那么不管A和B之間如何轉賬、轉幾次賬,事務結束后兩個用戶的錢相加起來應該還得是1000,這就是事務的一致性。

3、隔離性(Isolation)

隔離性是當多個用戶并發訪問數據庫時,比如同時操作同一張表時,數據庫為每一個用戶開啟的事務,不能被其他事務的操作所干擾,多個并發事務之間要相互隔離。關于事務的隔離性數據庫提供了多種隔離級別,稍后會介紹到。

4、持久性(Durability)

持久性是指一個事務一旦被提交了,那么對數據庫中的數據的改變就是永久性的,即便是在數據庫系統遇到故障的情況下也不會丟失提交事務的操作。例如我們在使用JDBC操作數據庫時,在提交事務方法后,提示用戶事務操作完成,當我們程序執行完成直到看到提示后,就可以認定事務已經正確提交,即使這時候數據庫出現了問題,也必須要將我們的事務完全執行完成。否則的話就會造成我們雖然看到提示事務處理完畢,但是數據庫因為故障而沒有執行事務的重大錯誤。這是不允許的。

三、mysql隔離級別 

READ UNCOMMITTED(未提交讀)

在未提交讀這個事務級別中,一個事務可以讀取到另外一個事務未提交的數據.
例如 A 事務更新了一個字段,但是未提交在 B 事務中,讀取id為1000的記錄的name字段的時候,name的值為'aaa',可是 A 事務并沒有commit,所以name = 'aaa'有可能是會被回滾的,那么,A 事務讀取了未提交事務的數據稱為臟讀(Dirty Read)

READ COMMITTED(提交讀)

提交讀這個事務級別中,一個事務可以讀取到另外一個事務提交之后的數據.

例如 A 事務讀取到了id為1000的記錄的name字段為aaa ,然后 B 事務這個時候更新了這條記錄的name值,并且提交了,這個時候 A 事務再次讀取name的話,name的值就是bbb了,所以在一個事務中,對一個字段進行多次讀取,可能得到的值不同.

A事務前后兩次讀取的值不一致!

REPEATABLE READ(可重復讀)

可重復讀這個事務級別中,一個事務重復去讀的字段不會改變.

例如 A 事務讀取到了id為1000的記錄的name值為aaa,然后 B 事務中把name改成了bbb,并且 B 事務提交了,A 事務再次去讀name的時候并不會讀取到bbb,所以 A 事務相當于在一個獨立的世界,外界的任何改動不會影響 A 事務.

但是,可重復讀會導致幻讀出現,什么是幻讀呢,舉個例子:
A 事務查詢一個表,表里只有一條記錄,id為1,但是這個時候 B 事務插入了一條數據,id為2,A 事務因為不知道有id為2的數據,所以這個時候A也插入了一條id為2的數據,這個時候肯定會插入失敗.這種情況就是幻讀

備注: MYSQL中的innoDB通過MVCC(多版本并發控制)解決了幻讀,另外MYSQL的默認事務級別就是可重復讀,Oracle和SQL Server 默認隔離級別為 已提交讀(Read committed)

SERIALIZABLE(可串行化)

可串行化事務級別,把讀取的每一行數據都加了鎖

加鎖了的有點就是,避免了臟讀和幻讀,另外還避免了不可重復讀的可能性,但是因為加鎖了,減少了很大的并發性,因為同一時刻,只有一個線程能夠獲取到鎖.還可能導致大量超時問題.

小結:不可重復讀的和幻讀很容易混淆,不可重復讀側重于修改,幻讀側重于新增或刪除。解決不可重復讀的問題只需鎖住滿足條件的行,解決幻讀需要鎖表

隔離級別:

隔離級別 臟讀(Dirty Read) 不可重復讀(NonRepeatable Read) 幻讀(Phantom Read)
未提交讀(Read uncommitted) 可能 可能 可能    
已提交讀(Read committed) 不可能 可能 可能
可重復讀(Repeatable read) 不可能 不可能 可能
可串行化(Serializable ) 不可能 不可能 不可能

級別越高,數據越安全,但性能越低。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 深入理解PHP+Mysql分布式事務與解決方案
  • 淺析MySQL 鎖和事務
  • 聊聊MySQL事務的特性和隔離級別
  • MySQL 如何使用事務
  • MySQL如何實現事務的ACID
  • MySQL為什么要避免大事務以及大事務解決的方法
  • Mysql事務隔離級別原理實例解析
  • MySQL查看和修改事務隔離級別的實例講解

標簽:徐州 鹽城 移動 沈陽 拉薩 黔東 珠海 沈陽

巨人網絡通訊聲明:本文標題《Mysql事務特性和級別原理解析》,本文關鍵詞  Mysql,事務,特性,和,級別,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mysql事務特性和級別原理解析》相關的同類信息!
  • 本頁收集關于Mysql事務特性和級別原理解析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 玲珑秀的小说| 人与性动交AAAABBBB视频| 足疗按摩A毛片视频| 女人张开腿让男桶爽国产| 69xx在线观看视频| 99久久99久久免费精品蜜臀| 夫上班被公侵犯| 亚洲精品无播放器在线看观看| 免费骚聊| 午夜影院免费体验区| 男人天堂视频在线| 乱理片在我观看51| freefromevideos性欧美| 性欧美乱妇come| 亚洲成人三级| 被各种姿势玩弄NP高H女女| 91在线播放国产| 教室里调教大乳奶牛老师| 大尺度尤妮丝福利视频11| 欧美一级乱妇老太婆特黄| 肥胖老太婆一级毛片免费| 亚洲AV无码专区国产精品色欲| 欧美日本视频一区| 日本一区二区三区免费高清在线| 欧美黑人猛男做爰XXXⅩ| 怡红院AV视频全部免费 | 国产gaysexchina男同men视| 男欢女爱无遮挡A级视频| 久久综合电影| 成都4片p高清视频| 日日添天天做天天爱| 酒井法子拍的AV片在线观看| 女人扒开内裤让男人狂戳| 中国美女一级黄色片| 艳照门在线| 欧美一级婬片A片免费播放绣春| 亚洲女同日韩中文字幕| 在线观看免费为成年视频| 亚洲女人天堂色在线7777| 日产区一线二线三线区| 美女下部的隐私免费视频软件 |