MySQL常用的引擎有MyISAM,InnoDB,Memory。
MyISAM
底层数据结构:B+Tree。
支持锁:表级锁,全局锁。
支持索引:fulltext(全文索引)。
存储形式:索引和数据是分离的。索引中存储的是数据的地址。
优点:支持MySQL的大量查询、分析等。
缺点:不支持事务;不支持行锁;对并发读写效果不好。
适用场景:读多写少。
InnoDB
底层数据结构:B+Tree。
支持锁:行级锁,表级锁,全局锁。
支持索引:
存储形式:数据存储在主键索引的叶子节点中。
优点:支持事务;支持行锁。
缺点:
适用场景:写多读少。
由于InnoDB有redo log的支持,所以对于崩溃事务提交或回滚有很好的支持。而MyISAM是不支持的。
Memory
内存数据库。