常用的存储引擎为MyISAM和InnoDB,其它引擎有NDB Cluster、Merge、Memory等等。
MyISAM是mysql的默认搜索引擎,其中的每一个表都被存放为三个文件:.frm表结构信息;.MYD数据文件;.MYI索引文件。MyISAM支持B-Tree索引、R-Tree索引和Full-text索引。但不支持事务,而且默认的写优先级高于读优先级(写操作会一直优先于读操作,造成读操作的无限等待),因此当需要事务操作或者读写频率都很高的操作时,建议不适用该引擎。
完善的索引机制和快速处理能力,使得该引擎非常适合于大量读请求的处理,也是使用最广泛的引擎。
InnoDB的数据和索引存放在同一个文件中,但是可以由用户自己决定是每张表单独使用独享表空间存放还是所有表一起使用共享表空间,默认情况下为共享表空间。同时该引擎有完整的Undo日志机制,用于事务恢复。该引擎支持事务安全、并发性好、锁定机制好(支持行锁定,MyISAM支持的最小锁定粒度是表锁定)、支持外键。所以对上述功能有要求时,建议使用该引擎。