日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MySQL數據庫事務原理及應用

瀏覽:332日期:2023-05-05 10:12:01
目錄
  • 1 事務的使用
    • 1.1 事務概念
    • 1.2 事務的提交
    • 1.3 事務的常見操作
  • 2 事務隔離
    • 2.1 事務并發時出現的問題
    • 2.2 事務隔離級別

1 事務的使用

1.1 事務概念

事務就是一組DML語句組成,這些語句在邏輯上存在相關性,這一組DML語句要么全部成功,要么全部失敗,是一個整體。MySQL提供一種機制,保證我們達到這樣的效果。事務還規定不同的客戶端看到的數據是不相同的。

事務就是要做的或所做的事情,主要用于處理操作量大,復雜度高的數據。假設一種場景:你畢業了,學校的教務系統后臺 MySQL 中,不在需要你的數據,要刪除你的所有信息(一般不會:) ), 那么要刪除你的基本信息(姓名,電話,籍貫等)的同時,也刪除和你有關的其他信息,比如:你的各科成績,你在校表現,甚至你在論壇發過的文章等。這樣,就需要多條 MySQL 語句構成,那么所有這些操作合起來,就構成了一個事務。

正如我們上面所說,一個 MySQL 數據庫,可不止你一個事務在運行,同一時刻,甚至有大量的請求被包裝成事務,在向 MySQL 服務器發起事務處理請求。而每條事務至少一條 SQL ,最多很多 SQL ,這樣如果大家都訪問同樣的表數據,在不加保護的情況,就絕對會出現問題。甚至,因為事務由多條 SQL 構成,那么,也會存在執行到一半出錯或者不想再執行的情況,那么已經執行的怎么辦呢?

所以,一個完整的事務,絕對不是簡單的 sql 集合,還需要滿足如下四個屬性:

  • 原子性:一個事務(transaction)中的所有操作,要么全部完成,要么全部不完成,不會結束在中間某個環節。事務在執行過程中發生錯誤,會被回滾(Rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。
  • 一致性:在事務開始之前和事務結束以后,數據庫的完整性沒有被破壞。這表示寫入的資料必須完全符合所有的預設規則,這包含資料的精確度、串聯性以及后續數據庫可以自發性地完成預定的工作。
  • 隔離性:數據庫允許多個并發事務同時對其數據進行讀寫和修改的能力,隔離性可以防止多個事務并發執行時由于交叉執行而導致數據的不一致。事務隔離分為不同級別,包括讀未提交( Read uncommitted )、讀提交( read committed )、可重復讀( repeatable read )和串行化( Serializable )
  • 持久性:事務處理結束后,對數據的修改就是永久的,即便系統故障也不會丟失

1.2 事務的提交

事務的提交方式常見的有兩種:

  • 自動提交
  • 手動提交

查看事務提交方式

mysql> show variables like "autocommit";+---------------+-------+| Variable_name | Value |+---------------+-------+| autocommit | ON |+---------------+-------+1 row in set (0.41 sec)

用 SET 來改變 MySQL 的自動提交模式

mysql> SET AUTOCOMMIT=0; #SET AUTOCOMMIT=0 禁止自動提交Query OK, 0 rows affected (0.00 sec)mysql> show variables like "autocommit";+---------------+-------+| Variable_name | Value |+---------------+-------+| autocommit | OFF |+---------------+-------+1 row in set (0.00 sec)mysql> SET AUTOCOMMIT=1; #SET AUTOCOMMIT=1 開啟自動提交Query OK, 0 rows affected (0.00 sec)mysql> show variables like "autocommit";+---------------+-------+| Variable_name | Value |+---------------+-------+| autocommit | ON |+---------------+-------+1 row in set (0.01 sec)

1.3 事務的常見操作

開啟事務:start transaction;

執行多條SQL語句

回滾或提交:rollback/commit;

說明:rollback即是全部失敗,commit即是全部成功

2 事務隔離

2.1 事務并發時出現的問題

臟讀(第一個事務修改數據但沒有提交,第二個事務就讀取,在第一個事務回滾后,第二個事務讀取的就是臟數據)

不可重復讀(一個事務兩次讀取數據,中間有另一個事務修改,第一個事務兩次讀取的數據就不同)

幻讀 一個事務兩次讀取,中間有另一個事務執行了插入操作,造成第一個事務看到不同的結果

2.2 事務隔離級別

讀未提交(Read Uncommitted): 在該隔離級別,所有的事務都可以看到其他事務沒有提交的執行結果。(實際生產中不可能使用這種隔離級別的),但是相當于沒有任何隔離性,也會有很多并發問題,如臟讀,幻讀,不可重復讀等,我們上面為了做實驗方便,用的就是這個隔離性。

讀提交(Read Committed) :該隔離級別是大多數數據庫的默認的隔離級別(不是 MySQL 默認的)。它滿足了隔離的簡單定義:一個事務只能看到其他的已經提交的事務所做的改變。這種隔離級別會引起不可重復讀,即一個事務執行時,如果多次 select, 可能得到不同的結果。

可重復讀(Repeatable Read): 這是 MySQL 默認的隔離級別,它確保同一個事務,在執行中,多次讀取操作數據時,會看到同樣的數據行。但是會有幻讀問題。

串行化(Serializable): 這是事務的最高隔離級別,它通過強制事務排序,使之不可能相互沖突,從而解決了幻讀的問題。它在每個讀的數據行上面加上共享鎖。但是可能會導致超時和鎖競爭(這種隔離級別太極端,實際生產基本不使用)

隔離級別臟讀不可重復讀幻讀讀未提交×××讀提交√××可重復讀√√×串行化√√√

到此這篇關于MySQL數據庫事務原理及應用的文章就介紹到這了,更多相關MySQL數據庫事務內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: MySQL
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产欧美午夜| 亚洲精品一区二区妖精| 日韩精品久久久久久久软件91| 欧美不卡高清| 亚洲精品一二三区区别| 中文字幕一区二区三区在线视频| 亚洲人成在线影院| 国产伦理一区| 水蜜桃久久夜色精品一区| 欧美不卡在线| 日本一区中文字幕| 韩日一区二区| 免费久久精品| 日本免费新一区视频| 久久不见久久见中文字幕免费| 国产精选一区| 久久久久国产精品一区三寸| 美国av一区二区| 国产精品成人一区二区网站软件| 欧美xxxx中国| 狠狠久久婷婷| 国产精品伦一区二区| 97在线精品| 手机精品视频在线观看| 麻豆久久久久久久| 在线亚洲国产精品网站| 日韩精品免费观看视频| 日本蜜桃在线观看视频| 在线亚洲欧美| 麻豆精品在线播放| 成人久久一区| 亚洲精品成a人ⅴ香蕉片| 精品一区91| 蜜臀久久久久久久| 国产成人精品亚洲线观看| 国产高清一区| 久久av中文| 男女男精品视频网| 五月天av在线| 欧美日韩中出| 国产精品美女| 日韩久久电影| 国产精品久久免费视频| 99re国产精品| 精品三级在线观看视频| 欧美日韩日本国产亚洲在线| 国产福利亚洲| 99成人在线| 久久不见久久见免费视频7| 欧美日韩高清| 高清久久精品| 日本午夜精品视频在线观看| 中日韩男男gay无套| 激情黄产视频在线免费观看| 日本不卡一区二区| 中文一区二区| 中文字幕在线视频网站| 国产精品一区二区三区四区在线观看| 亚洲国内欧美| 日韩精品不卡一区二区| 午夜天堂精品久久久久| 九一国产精品| 中文字幕系列一区| 国产精品久久久久久久久免费高清| 亚洲欧美日本日韩| 精品一区亚洲| 麻豆视频在线观看免费网站黄 | 日韩中文字幕亚洲一区二区va在线| 欧美激情久久久久久久久久久| 1000部精品久久久久久久久| 精品美女在线视频| 欧美一级全黄| 亚洲一区av| 日韩亚洲在线| 亚洲高清不卡| 婷婷成人在线| 欧美性感美女一区二区| 日韩在线高清| 日韩电影免费在线观看| 精品无人区麻豆乱码久久久| 欧美一区二区三区久久精品| 一区二区三区网站| 免费日本视频一区| 国产精品毛片在线看| 色偷偷偷在线视频播放| 岛国av免费在线观看| 精品日产乱码久久久久久仙踪林| 欧美日韩亚洲三区| 国产伦理一区| 国产日韩1区| 国产九九精品| 国产精久久久| 精品五月天堂| 伊伊综合在线| 日韩在线观看一区| 久久精品二区三区| 欧美在线观看视频一区| 黄色国产精品| 丝瓜av网站精品一区二区| 欧美~级网站不卡| 不卡一区综合视频| 日韩视频在线一区二区三区 | 五月精品视频| 欧美日韩国产在线观看网站 | 日韩成人一级| 国产精品久久久亚洲一区| 国产精品a级| 欧美韩日一区| 国产精品7m凸凹视频分类| 极品日韩av| 香蕉久久久久久久av网站| 亚洲毛片网站| 欧美一区91| 国产一区二区三区久久久久久久久| 中文在线а√在线8| 欧美一区二区性| 免费日韩一区二区| 国产欧美日韩一区二区三区四区| 久久中文字幕一区二区三区| 久久精品免费一区二区三区| 丝袜美腿亚洲一区二区图片| 日本免费新一区视频| 久久精品二区亚洲w码| 中文字幕系列一区| 亚洲精品888| 国产色99精品9i| 欧美香蕉视频| 在线精品观看| 久久一区国产| 激情综合激情| 亚洲精品自拍| 精品国产18久久久久久二百| 亚洲国产专区校园欧美| 日韩在线卡一卡二| 麻豆高清免费国产一区| 日本免费一区二区三区四区| 中文精品视频| 久久影视三级福利片| 久久九九精品| 亚洲欧洲av| 中国字幕a在线看韩国电影| 亚洲一区二区三区免费在线观看| 久久国产精品免费一区二区三区 | 日韩在线视频一区二区三区| 美女久久精品| 日韩精品欧美激情一区二区| 中文视频一区| 日韩在线二区| 日韩av中文字幕一区二区三区| 精品国产乱码久久久| 欧美a级片一区| 久久久久黄色| 日韩精品高清不卡| 蜜桃视频欧美| 精品亚洲a∨一区二区三区18| 亚洲综合三区| 国产在线观看www| 国产精品一区二区中文字幕| 99香蕉国产精品偷在线观看 | 亚洲成人精品| 国产日韩精品视频一区二区三区| 国产高清一区| 国产福利片在线观看| 青青国产精品| 在线亚洲观看| 日韩精品一区二区三区免费观影 | 欧美日韩亚洲一区三区| 国内亚洲精品| 精品国产中文字幕第一页| 一区二区亚洲视频| 免费观看不卡av| 日韩欧美综合| 久久久久久久欧美精品| 国产婷婷精品| 新版的欧美在线视频| 欧美日韩va| 日韩专区欧美专区| 国产一区日韩一区| 亚洲播播91| 你懂的网址国产 欧美| 综合欧美精品| 国产精品老牛| 日韩午夜av在线| 欧美 日韩 国产一区二区在线视频| 国产成人精品亚洲线观看 | 免费视频亚洲| 色爱av综合网| 老牛影视精品| 丁香六月综合| 国产一区二区三区亚洲| 国产精品久久| 国产精品久久| 国产精品久久久久久妇女| 日本欧美在线| 日韩精品免费观看视频| 亚洲日韩中文字幕一区| 日韩影院免费视频| 日韩在线卡一卡二| 亚洲欧美日韩国产| 亚洲特级毛片|