Innodb和MyISAM比较

Innodb和MyISAM比较

(1)MyISAM类型的表强调的是性能,其执行速度比InnoDB类型更快sql

(2)MyISAM不支持事务、外键,InnoDB支持事务和外键数据库

(3)MyISAM使用的表级锁.,而InnoDB默认使用的行级锁,也可使用表级锁。若是大量使用select,MyISAM更快;大量使用insert、update、delete使用InnoDB更好。性能

(4)MyISAM的主键与辅助索引都使用的非汇集索引,而InnoDB主键索引使用的汇集索引,辅助索引使用的非汇集索引.net

(5)InnoDB不支持FULLTEXT类型的索引;blog

(6)InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,可是MyISAM只要简单的读出保存好的行数便可。注意的是,当count(*)语句包含 where条件时,两种表的操做是同样的;索引

(7)对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,可是在MyISAM表中,能够和其余字段一块儿创建联合索引事务

Innodb和MyISAM选择

(1)平台上承载的大部分项目是读多写少的项目,而MyISAM的读性能是比Innodb强很多的。内存

(2)My+ISAM的索引和数据是分开的,而且索引是有压缩的,内存使用率就对应提升了很多。能加载更多索引,而Innodb是索引和数据是紧密捆绑的,没有使用压缩从而会形成Innodb比MyISAM体积庞大不小。table

(3) 还有就是常常有不少应用部门须要我给他们按期某些表的数据,MyISAM的话很方便,只要发给他们对应那表的frm.MYD,MYI的文件,让他们本身在对应版本的数据库启动就行,而Innodb就须要导出xxx.sql了,由于光给别人文件,受字典数据文件的影响,对方是没法使用的。date

更全面的请访问连接: http://blog.csdn.net/xifeijian/article/details/20316775

相关文章
相关标签/搜索