MySQL存储引擎--MYSIAM和INNODB引擎区别
参考:http://blog.csdn.net/memray/article/details/8914042
MYSIAM和INNODB引擎区别主要有以下几点:
1.MyISAM查询性能比InnoDB更快,但不支持事务处理,InnoDB支持事务处理、外键和行级锁等高级数据库功能
2.InnoDB不支持全文检索(mysql5.6之后就支持了)
3.InnoDB中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。
4.DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除
5.Innodb的auto_increment字段,必须建立单独的索引,而不允许是联合索引
6.每张MyISAM 表被存放在三个文件 :frm 文件存放表格定义。 数据文件是MYD (MYData) 。 索引文件是MYI (MYIndex) 引伸。
因为MyISAM相对简单所以在效率上要优于InnoDB,小型应用使用MyISAM是不错的选择。
MyISAM表是保存成文件的形式,在跨平台的数据转移中使用MyISAM存储会省去不少的麻烦
InnoDB 把数据和索引存放在表空间里,可能包含多个文件,这与其它的不一样,举例来说,在 MyISAM 中,表被存放在单独的文件中。InnoDB 表的大小只受限于操作系统的文件大小,一般为 2 GB。InnoDB所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份