bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

MySQL事務的概念以及事務隔離級別介紹

本篇內容主要講解“MySQL事務的概念以及事務隔離級別介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MySQL事務的概念以及事務隔離級別介紹”吧!

創新互聯建站專業為企業提供羅田網站建設、羅田做網站、羅田網站設計、羅田網站制作等企業網站建設、網頁設計與制作、羅田企業網站模板建站服務,10多年羅田做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

先簡單介紹一下MySQL中事務的概念,它是指: 用于實現某種行為的SQL語句的組合,可以是單條SQL語句,也可以是多條。 就像線程一樣,MySQL服務器允許多個事務并發執行去更新某些數據,為了保障安全,MySQL提供了四種隔離級別,用來限制不同事務之間的干擾。

四種隔離級別如下(按照級別由低到高):

  • read uncommitted(讀未提交)

  • read committed(讀已提交)

  • repeatable read(可重復讀)

  • Serializable(串行化)

接下來按照這個順序分別進行演示。

**準備工作**

由于我本地服務器上只有一個root用戶,為了后續的演示操作,所以需要再新建一個用戶testB,并授予相應權限。方便起見,下文中root、testB開啟的事務稱為A、B。

一、read uncommitted(讀未提交)

分別登錄到用戶root和testB,以表t_ss作為實驗表,通過查詢可以看到表t_ss是空的。

MySQL事務的概念以及事務隔離級別介紹

分別將root和testB的隔離級別設置為 read uncommitted( 讀 未提交)。

接著分別在root、testB中開啟事務A、B,然后在B中向表t_ss插入一條數據。 這時候B中的事務還沒有提交(commit),我們再在A中查表,可以看見, 即使B的事務還未提交,A中也可以查詢到事務B插入的數據。

MySQL事務的概念以及事務隔離級別介紹

到這大家應該都能理解 read uncommitted( 讀 未提交) 的含義了,通俗來說就是: 即使事務B沒有commit,其它事務也能讀取到事務B更新的數據,即能夠讀取事務沒有提交的數據。 這是事務隔離級別中等級最低的一個。

二、read committed(讀已提交)

將root和testB的事務隔離級別設置為 read committed(讀已提交)。

MySQL事務的概念以及事務隔離級別介紹

同樣開啟兩個事務,并在B中再插入一條數據,此時B事務未提交,當在A中查詢時,發現并未查詢到B新插入的數據。

MySQL事務的概念以及事務隔離級別介紹

當commit事務B后,A成功讀取到B插入的數據。

MySQL事務的概念以及事務隔離級別介紹

總結一下,在read committed(讀已提交)級別時, 其它事務只能讀取事務B提交后的數據,未提交則讀取不到。 這是大部分數據庫的默認隔離級別。

三、repeatable read(可重復讀)

將事務隔離級別設置為 repeatable read(可重復讀) ,并分別開啟事務。

MySQL事務的概念以及事務隔離級別介紹

A先查表,有兩條數據,然后B插入一條數據并commit,A再查表,結果還是兩條數據,但是B中查表所得結果是三條數據。(箭頭指示命令執行順序)

MySQL事務的概念以及事務隔離級別介紹

也就是說,當數據庫處于repeatable read(可重復讀)時, 同一個事務前后兩次所讀取的數據必須是一致的,無論事務B有沒有插入數據。 它是MySQL的默認隔離級別。

四、Serializable(串行化)

將root的隔離級別設置為 Serializable(串行化) ,開啟事務。當在事務A中查詢表t_ss且未commit時,B事務一直在等待,到達指定時間后會報錯,顯示超時。

MySQL事務的概念以及事務隔離級別介紹

在事務A提交后,事務B才能夠成功插入數據。

MySQL事務的概念以及事務隔離級別介紹

Serializable(串行化)是等級最高,要求最嚴的事務隔離級別,在這種情況下, 其它事務必須等待當前事務commit后才能執行。

到此,相信大家對“MySQL事務的概念以及事務隔離級別介紹”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

網站欄目:MySQL事務的概念以及事務隔離級別介紹
網頁路徑:http://vcdvsql.cn/article38/podcsp.html

成都網站建設公司_創新互聯,為您提供靜態網站外貿網站建設全網營銷推廣軟件開發網站設計公司網頁設計公司

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設