MyISAM 和 InnoDB區(qū)別

主要區(qū)別

1).MyISAM是非事務(wù)安全型的,而InnoDB是事務(wù)安全型的。
2).MyISAM鎖的粒度是表級界赔,而InnoDB支持行級鎖定。
3).MyISAM支持全文類型索引牵触,而InnoDB不支持全文索引淮悼。
4).MyISAM相對簡單,所以在效率上要優(yōu)于InnoDB揽思,小型應(yīng)用可以考慮使用MyISAM袜腥。
5).MyISAM表是保存成文件的形式,在跨平臺的數(shù)據(jù)轉(zhuǎn)移中使用MyISAM存儲會省去不少的麻煩钉汗。
6).InnoDB表比MyISAM表更安全羹令,可以在保證數(shù)據(jù)不會丟失的情況下鲤屡,切換非事務(wù)表到事務(wù)表(alter table tablename type=innodb)。

應(yīng)用場景

1).MyISAM管理非事務(wù)表福侈。它提供高速存儲和檢索酒来,以及全文搜索能力。如果應(yīng)用中需要執(zhí)行大量的SELECT查詢肪凛,那么MyISAM是更好的選擇堰汉。
2).InnoDB用于事務(wù)處理應(yīng)用程序,具有眾多特性伟墙,包括ACID事務(wù)支持翘鸭。如果應(yīng)用中需要執(zhí)行大量的INSERT或UPDATE操作,則應(yīng)該使用InnoDB戳葵,這樣可以提高多用戶并發(fā)操作的性能就乓。

其他

MyISAM存儲引擎的讀鎖和寫鎖是互斥的,讀寫操作是串行的拱烁。那么档址,一個進(jìn)程請求某個MyISAM表的讀鎖,同時(shí)另一個進(jìn)程也請求同一表的寫鎖邻梆,MySQL如何處理呢守伸?答案是寫進(jìn)程先獲得鎖。不僅如此浦妄,即使讀請求先到鎖等待隊(duì)列尼摹,寫請求后到,寫鎖也會插到讀鎖請求之前剂娄!這是因?yàn)镸ySQL認(rèn)為寫請求一般比讀請求要重要蠢涝。這也正是MyISAM表不太適合于有大量更新操作和查詢操作應(yīng)用的原因,因?yàn)樵呐常罅康母虏僮鲿斐刹樵儾僮骱茈y獲得讀鎖和二,從而可能永遠(yuǎn)阻塞。這種情況有時(shí)可能會變得非常糟糕耳胎!myisam是有讀鎖和寫鎖(2個鎖都是表級別鎖)惯吕。
MySQL表級鎖有兩種模式:表共享讀鎖(Table Read Lock)和表獨(dú)占寫鎖(Table Write Lock)。什么意思呢怕午,就是說對MyISAM表進(jìn)行讀操作時(shí)废登,它不會阻塞其他用戶對同一表的讀請求,但會阻塞 對同一表的寫操作郁惜;而對MyISAM表的寫操作堡距,則會阻塞其他用戶對同一表的讀和寫操作。
InnoDB行鎖是通過給索引項(xiàng)加鎖來實(shí)現(xiàn)的,即只有通過索引條件檢索數(shù)據(jù)羽戒,InnoDB才使用行級鎖缤沦,否則將使用表鎖!行級鎖在每次獲取鎖和釋放鎖的操作需要消耗比表鎖更多的資源易稠。在InnoDB兩個事務(wù)發(fā)生死鎖的時(shí)候疚俱,會計(jì)算出每個事務(wù)影響的行數(shù),然后回滾行數(shù)少的那個事務(wù)缩多。當(dāng)鎖定的場景中不涉及Innodb的時(shí)候呆奕,innodb是檢測不到的。只能依靠鎖定超時(shí)來解決衬吆。
數(shù)據(jù)庫死鎖例子:
兩個sesison梁钾,第一個update表t1,不要提交逊抡。第二個update表t2姆泻,不要提交。接著session1去update表t2冒嫡,session2去update表t1拇勃,此時(shí)就發(fā)生死鎖了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末孝凌,一起剝皮案震驚了整個濱河市方咆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蟀架,老刑警劉巖瓣赂,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胎源,死亡現(xiàn)場離奇詭異睡扬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)辛藻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門捌省,熙熙樓的掌柜王于貴愁眉苦臉地迎上來苫纤,“玉大人,你說我怎么就攤上這事纲缓【砭校” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵色徘,是天一觀的道長恭金。 經(jīng)常有香客問我操禀,道長褂策,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮斤寂,結(jié)果婚禮上耿焊,老公的妹妹穿的比我還像新娘。我一直安慰自己遍搞,他們只是感情好罗侯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著溪猿,像睡著了一般钩杰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上诊县,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天讲弄,我揣著相機(jī)與錄音,去河邊找鬼依痊。 笑死避除,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的胸嘁。 我是一名探鬼主播瓶摆,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼性宏!你這毒婦竟也來了群井?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤毫胜,失蹤者是張志新(化名)和其女友劉穎蝌借,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體指蚁,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡菩佑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凝化。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片稍坯。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖搓劫,靈堂內(nèi)的尸體忽然破棺而出瞧哟,到底是詐尸還是另有隱情,我是刑警寧澤枪向,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布勤揩,位于F島的核電站,受9級特大地震影響秘蛔,放射性物質(zhì)發(fā)生泄漏陨亡。R本人自食惡果不足惜傍衡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望负蠕。 院中可真熱鬧蛙埂,春花似錦、人聲如沸遮糖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽欲账。三九已至屡江,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赛不,已是汗流浹背盼理。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留俄删,地道東北人宏怔。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像畴椰,于是被迫代替她去往敵國和親臊诊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

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