概述
我主要通过描述两个引擎的批量插入速度,事务安全,全文索引等方面来描述
批量插入的速度
批量插入的速度在一定程度上直接决定了整个数据库的运行速度,从往期的经验来看Myisam更加具有优势。
事务安全
事务安全即文件系统用于在磁盘上提供事务安全的数据储存。
目前Myisam并不支持事务安全的功能,innodb可以支持事务安全。
全文索引
全文索引技术是搜索引擎的关键技术。
试想在1M大小的文件中搜索一个词,可能需要几秒,在100M的文件中可能需要几十秒,如果在更大的文件中搜索那么就需要更大的系统开销,这样的开销是不现实的。
而全文索引在很大程度上解决了搜索慢的问题。
目前Myisam支持全文索引,innodb在5.5版本之后也可以支持全文索引。
锁机制
两者都可以对信息进行锁定,但是Myisam只能对表进行锁定,innodb却可以对单独的列进行锁定。在一定程度上innodb的灵活性更高,但相对的Myisam会更加方便。
存储限制
理论上Myisam不存在存储限制,innodb的存储限制为64TB。相比较之下innodb可能会显得无力,但事实上innodb在大多数情况下不会触碰到存储上限,即使到达上限也可以通过建立多个数据库来进行弥补。
其他索引
Myisam和innodb都支持B树索引,相比较之下innodb还支持哈希索引,集群索引。在索引方面innodb更加具有优势。
其他
除了上诉内容之外,两者还同时支持索引缓存。其中Myisam支持数据可压缩,但是其空间使用度较低,内存使用较低。innodb的空间使用度较高,内存使用度较高,并且可以支持外键,支持数据缓存。