mysql:存储引擎innoDB&myisam区别
Innodb & myisam 明显区别(表)
区别
保存的文件的方式不同:
myisam,一个表,三个文件
Tbl_name.frm 结构
Tbl_name.myd 数据
Tbl_name.myi 索引
innodb:
一个表一个文件:
Tbl_name.frm 结构
所有的innodb表,都使用相同的
innodb存储表空间在保存数据和索引
innoDB&myisam:(功能及性能)
数据和索引的保存的文件不同:MyISAM是分开保存,而innodb是保存到表空间
MyIASM支持索引压缩,而Innodb索引和数据是绑定保存不压缩,体积大。
Innodb很多时候是行级锁,而myisam是表级锁,innodb的并发高。
InnoDB不支持FULLTEXT类型的索引(新版本的InnoDB也支持)。
Innodb支持事务,外键,数据完整性约束要强。而MYISAM不支持。
InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。
对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。