MySQL数据库MyISAM和InnoDB的区别
MyISAM和InnoDB两者的应用场景:
1) MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。如果应用中需要执行大量的SELECT查询,那么MyISAM是更好的选择。
2) InnoDB用于事务处理应用程序,具有众多特性,包括ACID事务支持。如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作的性能。
具体对比
MyISAM |
InnoDB |
|
事务支持 | × | √ |
存储空间 | 较小,可被压缩 | 需要更多的内存和存储,它会在主内存中建立其专用的缓冲池用于高速缓冲数据和索引。 |
全文索引 | √ | × |
外键 | × | √ |
行锁定 | × | √ |
InnoDB 1.2.x版本开始支持全文检索