MYSQL數(shù)據(jù)庫(kù)引擎 MYISAM和 INNODB區(qū)別

MySQL數(shù)據(jù)庫(kù)有多種存儲(chǔ)引擎:比如:MyISAM媒殉、InnoDB廷蓉、MERGE桃犬、MEMORY(HEAP)行楞、BDB(BerkeleyDB)、EXAMPLE、FEDERATED恒削、ARCHIVE尾序、CSV每币、BLACKHOLE等等兰怠,最常見的也就是MyISAM和InnoDB了李茫,下面主要講解下MyISAM和InnoDB兩種mysql數(shù)據(jù)庫(kù)存儲(chǔ)引擎的區(qū)別

MyISAM引擎是一種非事務(wù)性的引擎魄宏,提供高速存儲(chǔ)和檢索宠互,以及全文搜索能力,適合數(shù)據(jù)倉(cāng)庫(kù)等查詢頻繁的應(yīng)用搏色。MyISAM中频轿,一個(gè)table實(shí)際保存為三個(gè)文件略吨,.frm存儲(chǔ)表定義考阱,.MYD存儲(chǔ)數(shù)據(jù),.MYI存儲(chǔ)索引乞榨。MyISAM在所有MySQL配置里被支持吃既,它是默認(rèn)的存儲(chǔ)引擎,除非你配置MySQL默認(rèn)使用另外一個(gè)引擎河质。
  MySQL服務(wù)器中的其他非事務(wù)性存儲(chǔ)引擎(如MyISAM)遵從不同的數(shù)據(jù)完整性范例掀鹅,稱之為“原子操作”。按照事務(wù)術(shù)語(yǔ)戚丸,MyISAM表總能高效地工作在AUTOCOMMIT=1模式下限府。原子操作通常能提供可比較的完整性以及更好的性能痢缎。與經(jīng)過優(yōu)化調(diào)整的最快的事務(wù)性表相比主儡,它的速度快3~5倍蒲犬。由于MySQL服務(wù)器支持兩種范例蛇捌,因而你能決定是否利用原子操作的速度更好地服務(wù)于你的應(yīng)用程序,或使用事務(wù)特性回溺。該選擇可按表進(jìn)行遗遵。
  
  InnoDB則是一種支持事務(wù)的引擎。給MySQL提供了具有提交允粤,回滾和崩潰恢復(fù)能力的事務(wù)安全(ACID兼容)存儲(chǔ)引擎。所以的數(shù)據(jù)存儲(chǔ)在一個(gè)或者多個(gè)數(shù)據(jù)文件中琅坡,支持類似于Oracle的鎖機(jī)制。一般在OLTP應(yīng)用中使用較廣泛售躁。如果沒有指定InnoDB配置選項(xiàng)陪捷,MySQL將在MySQL數(shù)據(jù)目錄下創(chuàng)建一個(gè)名為ibdata1的自動(dòng)擴(kuò)展數(shù)據(jù)文件,以及兩個(gè)名為ib_logfile0和ib_logfile1的日志文件。
  InnoDB鎖定在行級(jí)并且也在SELECT語(yǔ)句提供一個(gè)Oracle風(fēng)格一致的非鎖定讀凌盯。這些特色增加了多用戶部署和性能。沒有在InnoDB中擴(kuò)大鎖定的需要二打,因?yàn)樵贗nnoDB中行級(jí)鎖定適合非常小的空間县忌。InnoDB也支持FOREIGN KEY強(qiáng)制。在SQL查詢中继效,你可以自由地將InnoDB類型的表與其它MySQL的表的類型混合起來(lái)症杏,甚至在同一個(gè)查詢中也可以混合。
  InnoDB是為處理巨大數(shù)據(jù)量時(shí)的最大性能設(shè)計(jì)瑞信。它的CPU效率可能是任何其它基于磁盤的關(guān)系數(shù)據(jù)庫(kù)引擎所不能匹敵的厉颤。InnoDB存儲(chǔ)引擎被完全與MySQL服務(wù)器整合,InnoDB存儲(chǔ)引擎為在主內(nèi)存中緩存數(shù)據(jù)和索引而維持它自己的緩沖池凡简。
  InnoDB存儲(chǔ)它的表&索引在一個(gè)表空間中逼友,表空間可以包含數(shù)個(gè)文件。InnoDB表可以是任何尺寸秤涩,即使在文件尺寸被限制為2GB的操作系統(tǒng)上帜乞。InnoDB也默認(rèn)被包括在所有MySQL 5.1二進(jìn)制分發(fā)版里。

總結(jié)如下:

1筐眷、 存儲(chǔ)結(jié)構(gòu)

MyISAM:每個(gè)MyISAM在磁盤上存儲(chǔ)成三個(gè)文件怨喘。第一個(gè)文件的名字以表的名字開始,擴(kuò)展名指出文件類型暖途。.frm文件存儲(chǔ)表定義。數(shù)據(jù)文件的擴(kuò)展名為.MYD (MYData)。索引文件的擴(kuò)展名是.MYI (MYIndex)。 InnoDB:所有的表都保存在同一個(gè)數(shù)據(jù)文件中(也可能是多個(gè)文件类腮,或者是獨(dú)立的表空間文件)针饥,InnoDB表的大小只受限于操作系統(tǒng)文件的大小,一般為2GB。

2吗伤、 存儲(chǔ)空間

MyISAM:可被壓縮礁阁,存儲(chǔ)空間較小棚品。支持三種不同的存儲(chǔ)格式:靜態(tài)表(默認(rèn)骡澈,但是注意數(shù)據(jù)末尾不能有空格,會(huì)被去掉)、動(dòng)態(tài)表区丑、壓縮表可霎。 InnoDB:需要更多的內(nèi)存和存儲(chǔ)旷余,它會(huì)在主內(nèi)存中建立其專用的緩沖池用于高速緩沖數(shù)據(jù)和索引炉旷。

3、 事務(wù)支持

MyISAM:強(qiáng)調(diào)的是性能,每次查詢具有原子性,其執(zhí)行數(shù)度比InnoDB類型更快壁熄,但是不提供事務(wù)支持昌执。 InnoDB:提供事務(wù)支持事務(wù)铐达,外部鍵等高級(jí)數(shù)據(jù)庫(kù)功能。 具有事務(wù)(commit)、回滾(rollback)和崩潰修復(fù)能力(crash recovery capabilities)的事務(wù)安全(transaction-safe (ACID compliant))型表。

4沿猜、 CURD操作

MyISAM:如果執(zhí)行大量的SELECT呼畸,MyISAM是更好的選擇另绩。(因?yàn)闆]有支持行級(jí)鎖)花嘶,在增刪的時(shí)候需要鎖定整個(gè)表格,效率會(huì)低一些蹦漠。相關(guān)的是innodb支持行級(jí)鎖笛园,刪除插入的時(shí)候只需要鎖定改行就行棵红,效率較高 InnoDB:如果你的數(shù)據(jù)執(zhí)行大量的INSERT或UPDATE忆绰,出于性能方面的考慮亚享,應(yīng)該使用InnoDB表。DELETE 從性能上InnoDB更優(yōu)燥筷,但DELETE FROM table時(shí)箩祥,InnoDB不會(huì)重新建立表,而是一行一行的刪除肆氓,在innodb上如果要清空保存有大量數(shù)據(jù)的表袍祖,最好使用truncate table這個(gè)命令。

5做院、 外鍵

MyISAM:不支持 InnoDB:支持

MySQL數(shù)據(jù)庫(kù)類型從InnoDB轉(zhuǎn)換為MyISAM

USE 數(shù)據(jù)庫(kù)名;
SHOW TABLES;
ALTER TABLE 表名 ENGINE=MYISAM;

常用修改

修改MySQL數(shù)據(jù)庫(kù)引擎為INNODB:
1盲泛、首先修改my.ini,在[mysqld]下加上:

default-storage-engine=INNODB

2键耕、用sql語(yǔ)句修改已經(jīng)建成表的引擎:

alter table 待改表明 type=InnoDB;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末寺滚,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子屈雄,更是在濱河造成了極大的恐慌村视,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酒奶,死亡現(xiàn)場(chǎng)離奇詭異蚁孔,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)惋嚎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門杠氢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人另伍,你說(shuō)我怎么就攤上這事鼻百。” “怎么了摆尝?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵温艇,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我堕汞,道長(zhǎng)勺爱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任讯检,我火速辦了婚禮琐鲁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘人灼。我一直安慰自己绣否,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布挡毅。 她就那樣靜靜地躺著蒜撮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上段磨,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天取逾,我揣著相機(jī)與錄音,去河邊找鬼苹支。 笑死砾隅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的债蜜。 我是一名探鬼主播晴埂,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼寻定!你這毒婦竟也來(lái)了儒洛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤狼速,失蹤者是張志新(化名)和其女友劉穎琅锻,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體向胡,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡恼蓬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了僵芹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片处硬。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拇派,靈堂內(nèi)的尸體忽然破棺而出荷辕,到底是詐尸還是另有隱情,我是刑警寧澤攀痊,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布桐腌,位于F島的核電站拄显,受9級(jí)特大地震影響苟径,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜躬审,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一棘街、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧承边,春花似錦遭殉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春蛔糯,著一層夾襖步出監(jiān)牢的瞬間拯腮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工蚁飒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留动壤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓淮逻,卻偏偏與公主長(zhǎng)得像琼懊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子爬早,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

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