InnoDB InnoDB是一个健壮的事务型存储引擎 该存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。 InnoDB存储引擎的特点:支持自动增长列,支持外键约束

在以下场合下,使用InnoDB是最理想的选择:

更新密集的表。 InnoDB存储引擎特别适合处理多重并发的更新请求。 事务。 InnoDB存储引擎是支持事务的标准MySQL存储引擎。 自动灾难恢复。 与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。 外键约束。 MySQL支持外键的存储引擎只有InnoDB。 支持自动增加列AUTO_INCREMENT属性。 从5.7开始innodb存储引擎成为默认的存储引擎。 一般来说,如果需要事务支持,并且有较高的并发读取频率,InnoDB是不错的选择。

MyISAM存储引擎:不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表 支持3种不同的存储格式,分别是:静态表;动态表;压缩表

静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的,优点存储非常迅速,容易缓存,出现故障容易恢复;缺点是占用的空间通常比动态表多(因为存储时会按照列的宽度定义补足空格)ps:在取数据的时候,默认会把字段后面的空格去掉,如果不注意会把数据本身带的空格也会忽略。

动态表:记录不是固定长度的,这样存储的优点是占用的空间相对较少;缺点:频繁的更新、删除数据容易产生碎片,需要定期执行OPTIMIZE TABLE或者myisamchk-r命令来改善性能