MyISAM的设计思想是查询数据库远不止其更新,因此它执行非常快的读取操作。如果您的读写(插入|更新)比率小于15%,则最好使用MyISAM。
InnoDB使用行级锁定,具有提交,回滚和崩溃恢复功能来保护用户数据。支持交易和容错
以上区别是正确的MyISAM和InnobDB之间吗?请指导MYISAM和InnobDB是否有其他限制。我应该何时使用MyiSAM或何时使用Innodb?谢谢!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MyISAM:
MySQL中的MyISAM存储引擎。
设计和创建更简单,因此对初学者来说更好。不用担心表之间的外部关系。 由于结构简单,因此总体上比InnoDB更快,因此服务器资源成本大大降低。-不再是真的。 全文索引。-InnoDB现在拥有它 特别适合读取密集型(选择)表。-不再是真的。 磁盘占用空间比InnoDB少2到3倍。-从5.7版开始,这也许是MyISAM的唯一真正优势。 InnoDB:
MySQL中的InnoDB存储引擎。
支持交易(使您支持ACID属性)。 行级锁定。与MyISAM相比,拥有更细粒度的锁定机制可以为您提供更高的并发性。 外键约束。让您让数据库确保数据库状态以及表之间关系的完整性。 InnoDB比MyISAM更能抵抗表损坏。 支持用于数据和索引的大型缓冲池。MyISAM密钥缓冲区仅用于索引。 MyISAM停滞不前;将来所有的增强功能都将在InnoDB中。8.0版的推出使这一点变得十分清楚。 MyISAM的局限性:
没有外键和级联的删除/更新 没有交易完整性(符合ACID) 没有回滚功能 4,284,867,296行限制(2 ^ 32)-这是旧的默认值。(许多版本)可配置的限制为2 ** 56字节。 每个表最多64个索引 InnoDB的局限性:
没有全文索引(低于5.6的mysql版本) 无法压缩为快速只读(已引入5.5.14 ROW_FORMAT=COMPRESSED) 您无法修复InnoDB表 为了简短理解,请阅读以下链接:
MySQL引擎:InnoDB与MyISAM –优缺点的比较 MySQL引擎:MyISAM与InnoDB InnoDB和MyISAM之间的主要区别是什么? MyISAM与InnoDB MyISAM和InnoDB有什么区别? MySql:MyISAM与Inno DB!来源:stack overflow