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

mysql隔離級(jí)別詳解及示例

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

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

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

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

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

mysql的4種隔離級(jí)別

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

事務(wù)隔離級(jí)別 臟讀 不可重復(fù)讀 幻讀
讀未提交(read-uncommitted)
不可重復(fù)讀(read-committed)
可重復(fù)讀(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);

開(kāi)始測(cè)試事物的4種隔離級(jí)別 第一種:read uncommitted (讀未提交)

設(shè)置隔離級(jí)別

#查詢(xún)當(dāng)前的隔離級(jí)別
SELECT @@tx_isolation
#設(shè)置隔離級(jí)別 set session transaction isolation level  [隔離級(jí)別]
set session transaction isolation level  read uncommitted

先開(kāi)啟第一個(gè)進(jìn)程 先開(kāi)啟事物 暫不進(jìn)行查詢(xún)

窗口1
start transaction;

再開(kāi)啟第二個(gè)進(jìn)程(終端)
先開(kāi)啟事物 修改一條記錄 不commit

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

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

在這里插入圖片描述

再去窗口1中查詢(xún)這個(gè)記錄

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

在這里插入圖片描述

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

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

相關(guān)文章

  • 怎樣安全地關(guān)閉MySQL實(shí)例

    怎樣安全地關(guān)閉MySQL實(shí)例

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

    安裝Mysql找不到Bin文件的問(wèn)題解決

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

    MYSQL必知必會(huì)讀書(shū)筆記第七章之?dāng)?shù)據(jù)過(guò)濾

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

    MySQL使用表鎖和行鎖的場(chǎng)景詳解

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

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

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

    基于Linux的mysql主從配置全過(guò)程記錄

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

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

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

    mysql中鎖機(jī)制的最全面講解

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

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

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

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

    BINARY不是函數(shù),是類(lèi)型轉(zhuǎn)換運(yùn)算符,它用來(lái)強(qiáng)制它后面的字符串為一個(gè)二進(jìn)制字符串,可以理解為在字符串比較的時(shí)候區(qū)分大小寫(xiě)
    2013-09-09

最新評(píng)論