innodb:
支持事务,外键,行级锁(行级锁只支持where条件中有主键的sql)
不支持全文索引(fulltext)
不支持 load data from master
不保存表的具体行数
主键必须有独立索引
myisam:
适合小型项目,读的性能强于innodb,数据以文件格式存储,恢复起来比较方便
索引和数据分开独立, 索引有压缩,比innodb体积小很多
用事务的项目用innodb
附:事务解释
原子性: 确保工作单元内的所有操作都成功完成,否则事务将被中止在故障点,和以前的操作将回滚到以前的状态。
一致性: 确保数据库正确地改变状态后,成功提交的事务。
隔离性: 使事务操作彼此独立的和透明的。
持久性: 确保提交的事务的结果或效果的系统出现故障的情况下仍然存在。
在MySQL中,事务开始使用COMMIT或ROLLBACK语句开始工作和结束。开始和结束语句的SQL命令之间形成了大量的事务。
COMMIT & ROLLBACK:
这两个关键字提交和回滚主要用于MySQL的事务。
当一个成功的事务完成后,发出COMMIT命令应使所有参与表的更改才会生效。
如果发生故障时,应发出一个ROLLBACK命令返回的事务中引用的每一个表到以前的状态。