首先innodb支持事务,可以进行事务的回滚,而myisam不支持事务
所以在更新比较多或者插入比较多的时候使用innodb
再者就是innodb支持的是行级锁定(某些情况下会表级,例如出现以%开头的模糊查询),myisam支持的表级锁定(表级锁定和行级锁定就从字面理解),即在进行表内数据的操作时,myisam会锁定整个表,而不能进行其他的操作,索引进行数据的读取时使用myisam比较好,MYISAM索引和数据是分开的,而且其索引是压缩的,可以更好地利用内存。所以它的查询性能明显优于INNODB。压缩后的索引也能节约一些磁盘空间。MYISAM拥有全文索引的功能,这可以极大地优化LIKE查询的效率。
还有一些就是innodb有外键,而myisam没有外键,
清空整个表时,InnoDB 是一行一行的删除,效率非常慢。MyISAM 则会重建表;
innodb不能进行全问索引,myisam能进行全文索引(全文索引(也称全文检索)是目前搜索引擎使用的一种关键技术。它能够利用【分词技术】等多种算法智能分析出文本文字中关键词的频率和重要性,然后按照一定的算法规则智能地筛选出我们想要的搜索结果。)