Mysql的事物級別

關(guān)于事物級別的定義


1.read uncommitted (未提交讀)


可以看到未提交的數(shù)據(jù)(臟讀)旨怠,舉個例子:別人說的話你都相信了捂掰,但是可能他只是說說,并不實(shí)際做想括。


2.read committed (提交讀)


讀取提交的數(shù)據(jù)陷谱。但是,可能多次讀取的數(shù)據(jù)結(jié)果不一致(不可重復(fù)讀瑟蜈,幻讀)烟逊。用讀寫的觀點(diǎn)就是:讀取的行數(shù)據(jù),可以寫铺根。


3.repeatable read(重復(fù)讀MySQL默認(rèn)隔離級別)


可以重復(fù)讀取宪躯,但有幻讀。讀寫觀點(diǎn):讀取的數(shù)據(jù)行不可寫夷都,但是可以往表中新增數(shù)據(jù)眷唉。在MySQL中,其他事務(wù)新增的數(shù)據(jù)囤官,看不到,不會產(chǎn)生幻讀蛤虐。采用多版本并發(fā)控制(MVCC)機(jī)制解決幻讀問題党饮。


4.serializable(串行化)


可讀,不可寫驳庭。像java中的鎖刑顺,寫數(shù)據(jù)必須等待另一個事務(wù)結(jié)束氯窍。

關(guān)于Mysql的鎖機(jī)制:

1.表級鎖:

表級別的鎖定是MySQL各存儲引擎中最大粒度的鎖定機(jī)制。該鎖定機(jī)制最大的特點(diǎn)是實(shí)現(xiàn)邏輯簡單蹲堂,帶來的系統(tǒng)負(fù)面影響最小狼讨。所以獲取鎖和釋放鎖的速度很快。由于表級鎖一次會將整個表鎖定柒竞,所以可以很好的避免死鎖問題政供。?

當(dāng)然,鎖定顆粒度大所帶來最大的負(fù)面影響就是出現(xiàn)鎖定資源爭用的概率也會最高朽基,致使并大度較低布隔。

2.頁級鎖:

頁級鎖定的特點(diǎn)是鎖定顆粒度介于行級鎖定與表級鎖之間,所以獲取鎖定所需要的資源開銷稼虎,以及所能提供的并發(fā)處理能力也同樣是介于上面二者之間衅檀。另外,頁級鎖定和行級鎖定一樣霎俩,會發(fā)生死鎖哀军。?

在MySQL數(shù)據(jù)庫中,使用表級鎖定的主要是MyISAM打却,Memory排苍,CSV等一些非事務(wù)性存儲引擎,而使用行級鎖定的主要是Innodb存儲引擎和NDBCluster存儲引擎学密,頁級鎖定主要是BerkeleyDB存儲引擎的鎖定方式淘衙。

3.行級鎖

行級鎖定是目前各大數(shù)據(jù)庫管理軟件所實(shí)現(xiàn)的鎖定顆粒度最小的,所以發(fā)生鎖定資源爭用的概率也最小,能夠給予應(yīng)用程序盡可能大的并發(fā)處理能力而提高一些需要高并發(fā)應(yīng)用系統(tǒng)的整體性能腻暮。?

但是由于鎖定資源的顆粒度很小彤守,所以每次獲取鎖和釋放鎖消耗的資源也更多,帶來的消耗自然也就更大了哭靖。此外具垫,行級鎖定也最容易發(fā)生死鎖

總的來說试幽,Innodb的鎖定機(jī)制和Oracle數(shù)據(jù)庫有不少相似之處筝蚕。Innodb的行級鎖定同樣分為兩種類型,共享鎖排他鎖铺坞,而在鎖定機(jī)制的實(shí)現(xiàn)過程中為了讓行級鎖定和表級鎖定共存起宽,Innodb也同樣使用了意向鎖(表級鎖定)的概念,也就有了意向共享鎖意向排他鎖這兩種济榨。

當(dāng)對某個資源加鎖時坯沪,如果?

- 有共享鎖,可以再加一個共享鎖擒滑,不過不能加排他鎖腐晾。 這個很好理解叉弦,就是多個事物只能讀數(shù)據(jù),不能同時改數(shù)據(jù)了藻糖。Mysql innodb 默認(rèn)對select 是不加鎖的淹冰,如果想加共享鎖,則需要 select * from table?lock in share mode.

- 有排它鎖巨柒,就在表上添加意向共享鎖或意向排他鎖樱拴。 而對于排他鎖并不是對數(shù)據(jù)加鎖后,其事物不能讀或者改數(shù)據(jù)潘拱,而是不能對其加其他鎖疹鳄。Mysql中innodb的insert update delete是默認(rèn)加排他鎖的。如果想對查詢語句加排他鎖可以:? select * from table for update;


意向共享鎖可以同時并存多個芦岂,但是意向排他鎖同時只能有一個存在瘪弓。所以,可以說Innodb的鎖定模式實(shí)際上可以分為四種:共享鎖(S)禽最,排他鎖(X)腺怯,意向共享鎖(IS)和意向排他鎖(IX)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市川无,隨后出現(xiàn)的幾起案子呛占,更是在濱河造成了極大的恐慌,老刑警劉巖懦趋,帶你破解...
    沈念sama閱讀 221,331評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晾虑,死亡現(xiàn)場離奇詭異,居然都是意外死亡仅叫,警方通過查閱死者的電腦和手機(jī)帜篇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诫咱,“玉大人笙隙,你說我怎么就攤上這事】茬裕” “怎么了竟痰?”我有些...
    開封第一講書人閱讀 167,755評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長掏呼。 經(jīng)常有香客問我坏快,道長,這世上最難降的妖魔是什么哄尔? 我笑而不...
    開封第一講書人閱讀 59,528評論 1 296
  • 正文 為了忘掉前任假消,我火速辦了婚禮,結(jié)果婚禮上岭接,老公的妹妹穿的比我還像新娘富拗。我一直安慰自己,他們只是感情好鸣戴,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,526評論 6 397
  • 文/花漫 我一把揭開白布啃沪。 她就那樣靜靜地躺著,像睡著了一般窄锅。 火紅的嫁衣襯著肌膚如雪创千。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,166評論 1 308
  • 那天入偷,我揣著相機(jī)與錄音追驴,去河邊找鬼。 笑死疏之,一個胖子當(dāng)著我的面吹牛殿雪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锋爪,決...
    沈念sama閱讀 40,768評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼丙曙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了其骄?” 一聲冷哼從身側(cè)響起亏镰,我...
    開封第一講書人閱讀 39,664評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拯爽,沒想到半個月后索抓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,205評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡毯炮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,290評論 3 340
  • 正文 我和宋清朗相戀三年逼肯,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片否副。...
    茶點(diǎn)故事閱讀 40,435評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡汉矿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出备禀,到底是詐尸還是另有隱情洲拇,我是刑警寧澤,帶...
    沈念sama閱讀 36,126評論 5 349
  • 正文 年R本政府宣布曲尸,位于F島的核電站赋续,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏另患。R本人自食惡果不足惜纽乱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,804評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望昆箕。 院中可真熱鬧鸦列,春花似錦租冠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至骆姐,卻和暖如春镜粤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背玻褪。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工肉渴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人带射。 一個月前我還...
    沈念sama閱讀 48,818評論 3 376
  • 正文 我出身青樓同规,卻偏偏與公主長得像,于是被迫代替她去往敵國和親庸诱。 傳聞我的和親對象是個殘疾皇子捻浦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,442評論 2 359

推薦閱讀更多精彩內(nèi)容