MyISAM的设计理念是假设您的数据库查询操作比更新操作要频繁得多,因此它执行非常快速的读取操作。如果您的读写(插入|更新)比率低于15%,那么最好使用MyISAM。
InnoDB使用行级锁定,具有提交、回滚和崩溃恢复功能,以保护用户数据。它支持事务和容错性。
上述是MyISAM和InnoDB之间的正确区别吗?如果MyISAM或InnoDB存在其他限制,应该在什么情况下使用MyISAM或InnoDB?谢谢!
MyISAM的设计理念是假设您的数据库查询操作比更新操作要频繁得多,因此它执行非常快速的读取操作。如果您的读写(插入|更新)比率低于15%,那么最好使用MyISAM。
InnoDB使用行级锁定,具有提交、回滚和崩溃恢复功能,以保护用户数据。它支持事务和容错性。
上述是MyISAM和InnoDB之间的正确区别吗?如果MyISAM或InnoDB存在其他限制,应该在什么情况下使用MyISAM或InnoDB?谢谢!
阅读有关 存储引擎 的资料。
MyISAM:
MySQL中的 MyISAM 存储引擎。
InnoDB:
MySQL中的InnoDB 存储引擎。
MyISAM限制:
InnoDB限制:
ROW_FORMAT=COMPRESSED
)简要理解请阅读下面链接:
如果数据不是很重要或者确实需要最小的性能优势,可以使用MyISAM。但并非在所有情况下MyISAM的读取性能都更好。
我个人不会再使用MyISAM了。选择InnoDB并增加一些硬件来提高性能。另一个想法是查看具有更多功能的数据库系统,如适用的PostgreSQL。
编辑:关于读取性能,此链接显示InnoDB通常实际上比MyISAM慢: https://www.percona.com/blog/2007/01/08/innodb-vs-myisam-vs-falcon-benchmarks-part-1/