1.InnoDB是由芬兰InnoDB Oy公司开发的存储引擎
(1).如果数据库奔溃,它使用日志来恢复,不需要完全重建索引或表-只需要要通过日志恢复到一个点
(2).InnoDB默认数据与索引是存储在一个文件中的,也可以 通过配置,存储到不同文件中
(3).物理上以主键顺序来存储数据,支持聚集索引
(4).读取和写入缓存操作,都是通过自己的函数,不是通过操作系统
(5).他支持原始磁盘分区,说明可以有一个内部格式的磁盘分区,磁盘分区作用类似表空间自身作用
(6).支持ACID兼容事物处理
(7).支持行级别锁定,但是如果不确定行扫描范围,会锁定整个表,例如:update tableName set id=3 where name like "%abc%";
select时不会锁定读取操作
(8).支持外键,一个外键是一个对表的索引,引用另外一个表的主键或唯一键,确定插入引用表的数据指向的索引,在被引用表中存在
(9).不支持FULLTEXT索引
(10).不保存表的具体行数,执行select count(*) from tableName时;InnoDB扫描整个表,但是MyIsam保存具体行数,但是select count(*) from tableName where id='1'时,InnoDB与MyIsam都要扫描整个表
(11).对应AUTO_INCREMENT字段,必须有索引,但是MyIsam可以与其他字段 建立联合索引
(12).Delete from tableName;不会重新建立表,而是一行行的删除
(13).Load tableName from Master操作,不适用InnoDB,解决方案:把InnoDB表改成MyIsam表,导入数据后,再改成InnoDB表,但是有外键的InnoDB表不适用
(14).是事物安全的,默认打开AutoCommit, 如果执行一条sql,就自动提交,影响性能;如果执行sql前调用begin,再插入多条sql语句,再手动commit,性能更好
2.MyIsam是由IBM开发的,基于Isam,Index Sequence access Method(索引顺序访问方法),是存储文件和记录标准方法,与其他存储引擎相比,具有修复和检查表格大多数工具,
MyIsam表格支持压缩 ,如果执行大量Select操作,MyIsam是更好选择支持全文检索
不支持事物安全,不支持外键