網(wǎng)站開(kāi)發(fā)保密合同國(guó)際十大市場(chǎng)營(yíng)銷公司
在mysql命令窗口中,輸入show engins,可以看到mysql的所有引擎,那么這么多的引擎,我們經(jīng)常使用到的也就兩種,MyISAM和InnoDB,這兩種引擎究竟有什么區(qū)別呢?
1, 事務(wù)處理
innodb 支持事務(wù)功能,myisam 不支持。
Myisam 的執(zhí)行速度更快,性能更好。
2,select ,update ,insert ,delete 操作
MyISAM:如果執(zhí)行大量的SELECT,MyISAM是更好的選擇
InnoDB:如果你的數(shù)據(jù)執(zhí)行大量的INSERT或UPDATE,出于性能方面的考慮,應(yīng)該使用InnoDB表
3,鎖機(jī)制不同
InnoDB 為行級(jí)鎖,myisam 為表級(jí)鎖。
注意:當(dāng)數(shù)據(jù)庫(kù)無(wú)法確定,所找的行時(shí),也會(huì)變?yōu)殒i定整個(gè)表。
如: update table set num = 10 where username like "%test%";
4,查詢表的行數(shù)不同
MyISAM:select count(*) from table,MyISAM只要簡(jiǎn)單的讀出保存好的行數(shù),注意的是,當(dāng)count(*)語(yǔ)句包含 where條件時(shí),兩種表的操作是一樣的
InnoDB : InnoDB 中不保存表的具體行數(shù),也就是說(shuō),執(zhí)行select count(*) from table時(shí),Inn