欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql隔離級別詳解及示例

 更新時間:2021年09月08日 15:07:07   作者:有夢想的  
經(jīng)常提到數(shù)據(jù)庫的事務,那你知道數(shù)據(jù)庫還有事務隔離的說法嗎,本文主要介紹了mysql的四種隔離級別,具有一定的參考價值,感興趣的可以了解一下

只是單純知道事物的隔離級別,但是從未操作過 今日操作一次。

臟讀(Drity Read):某個事務已更新一份數(shù)據(jù),另一個事務在此時讀取了同一份數(shù)據(jù),由于某些原因,前一個RollBack了操作,則后一個事務所讀取的數(shù)據(jù)就會是不正確的。

不可重復讀(Non-repeatable read):在一個事務的兩次查詢之中數(shù)據(jù)不一致,這可能是兩次查詢過程中間插入了一個事務更新的原有的數(shù)據(jù)。

幻讀(Phantom Read):在一個事務的兩次查詢中數(shù)據(jù)筆數(shù)不一致,例如有一個事務查詢了幾列(Row)數(shù)據(jù),而另一個事務卻在此時插入了新的幾列數(shù)據(jù),先前的事務在接下來的查詢中,就會發(fā)現(xiàn)有幾列數(shù)據(jù)是它先前所沒有的。

mysql的4種隔離級別

read uncommitted : 讀取尚未提交的數(shù)據(jù) :哪個問題都不能解決
read committed:讀取已經(jīng)提交的數(shù)據(jù) :可以解決臟讀 ---- oracle默認的
repeatable read:重讀讀?。嚎梢越鉀Q臟讀 和 不可重復讀 —mysql默認的
serializable:串行化:可以解決 臟讀 不可重復讀 和 虛讀—相當于鎖表

事務隔離級別 臟讀 不可重復讀 幻讀
讀未提交(read-uncommitted)
不可重復讀(read-committed)
可重復讀(repeatable-read)
串行化(serializable)

創(chuàng)建數(shù)據(jù)表:

create table shuzhi
(
  id mediumint(8) primary key,
  name varchar(30),
  shuzhi mediumint(10)
);
alter table shuzhi engine=innodb;
insert into shuzhi values(1,'aa',1000);
insert into shuzhi values(2,'bb',2000);
insert into shuzhi values(3,'cc',3000);
insert into shuzhi values(4,'dd',4000);
insert into shuzhi values(5,'ee',5000);
insert into shuzhi values(6,'ff',6000);
insert into shuzhi values(7,'gg',7000);
insert into shuzhi values(8,'hh',8000);

開始測試事物的4種隔離級別 第一種:read uncommitted (讀未提交)

設置隔離級別

#查詢當前的隔離級別
SELECT @@tx_isolation
#設置隔離級別 set session transaction isolation level  [隔離級別]
set session transaction isolation level  read uncommitted

先開啟第一個進程 先開啟事物 暫不進行查詢

窗口1
start transaction;

再開啟第二個進程(終端)
先開啟事物 修改一條記錄 不commit

窗口2
start transaction;
update shuzhi set shuzhi='8888' where id=7;

去數(shù)據(jù)庫查詢發(fā)現(xiàn)id=7的值還是7000值并沒改變

在這里插入圖片描述

再去窗口1中查詢這個記錄

窗口1
start transaction;
select * from shuzhi where id=7

在這里插入圖片描述

發(fā)現(xiàn)讀到的數(shù)據(jù)是窗口2中為提交的數(shù)據(jù) 并不是7000

到此這篇關于mysql隔離級別詳解及示例的文章就介紹到這了,更多相關mysql隔離級別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 怎樣安全地關閉MySQL實例

    怎樣安全地關閉MySQL實例

    這篇文章主要介紹了怎樣安全地關閉MySQL實例,文中講解非常細致,幫助大家更好的理解和學習MySQL,感興趣的朋友可以了解下
    2020-07-07
  • 安裝Mysql找不到Bin文件的問題解決

    安裝Mysql找不到Bin文件的問題解決

    在解壓MySQL壓縮包后,有時會發(fā)現(xiàn)沒有bin目錄,本文主要介紹了安裝Mysql找不到Bin文件的問題解決,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • MYSQL必知必會讀書筆記第七章之數(shù)據(jù)過濾

    MYSQL必知必會讀書筆記第七章之數(shù)據(jù)過濾

    這篇文章主要介紹了MYSQL必知必會讀書筆記第七章之數(shù)據(jù)過濾的相關資料,需要的朋友可以參考下
    2016-05-05
  • MySQL使用表鎖和行鎖的場景詳解

    MySQL使用表鎖和行鎖的場景詳解

    MySQL?Innodb?的鎖可以說是執(zhí)行引擎的并發(fā)基礎了,有了鎖才能保證數(shù)據(jù)的一致性。但你知道什么時候會用表鎖,什么時候會用行鎖嗎?本文就來和大家一起詳細聊聊
    2022-09-09
  • MySQL數(shù)據(jù)表使用的SQL語句整理

    MySQL數(shù)據(jù)表使用的SQL語句整理

    這篇文章主要介紹了MySQL數(shù)據(jù)表使用的SQL語句整理,文章基于MySQL的相關資料展開舉例說明,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • 基于Linux的mysql主從配置全過程記錄

    基于Linux的mysql主從配置全過程記錄

    這篇文章主要給大家介紹了基于Linux的mysql主從配置的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用mysql具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-04-04
  • mysql按天/小時/半小時/N分鐘/分鐘進行數(shù)據(jù)分組統(tǒng)計功能

    mysql按天/小時/半小時/N分鐘/分鐘進行數(shù)據(jù)分組統(tǒng)計功能

    我們在做項目或者數(shù)據(jù)分析時,經(jīng)常遇到這樣的需求:統(tǒng)計不同時間粒度下的數(shù)據(jù)分布情況,例如,每一天中每個小時網(wǎng)站的訪問量,某路口每半個小時通過的車輛數(shù)量等,下面給大家分享mysql按天/小時/半小時/N分鐘/分鐘進行數(shù)據(jù)分組統(tǒng)計功能,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • mysql中鎖機制的最全面講解

    mysql中鎖機制的最全面講解

    大概幾個月之前項目中用到事務,需要保證數(shù)據(jù)的強一致性,期間也用到了mysql的鎖,所以本文打算總結一下mysql的鎖機制,這篇文章主要給大家介紹了關于mysql中鎖機制的相關資料,需要的朋友可以參考下
    2021-09-09
  • mysql根據(jù)逗號將一行數(shù)據(jù)拆分成多行數(shù)據(jù)

    mysql根據(jù)逗號將一行數(shù)據(jù)拆分成多行數(shù)據(jù)

    本文主要介紹了mysql根據(jù)逗號將一行數(shù)據(jù)拆分成多行數(shù)據(jù),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • MYSQL的binary解決mysql數(shù)據(jù)大小寫敏感問題的方法

    MYSQL的binary解決mysql數(shù)據(jù)大小寫敏感問題的方法

    BINARY不是函數(shù),是類型轉換運算符,它用來強制它后面的字符串為一個二進制字符串,可以理解為在字符串比較的時候區(qū)分大小寫
    2013-09-09

最新評論