开发者社区 问答 正文

什么时候使用MyISAM和InnoDB??mysql

MyISAM的设计思想是查询数据库远不止其更新,因此它执行非常快的读取操作。如果您的读写(插入|更新)比率小于15%,则最好使用MyISAM。

InnoDB使用行级锁定,具有提交,回滚和崩溃恢复功能来保护用户数据。支持交易和容错

以上区别是正确的MyISAM和InnobDB之间吗?请指导MYISAM和InnobDB是否有其他限制。我应该何时使用MyiSAM或何时使用Innodb?谢谢!

展开
收起
保持可爱mmm 2020-05-17 16:58:08 1087 分享 版权
1 条回答
写回答
取消 提交回答
  • 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

    2020-05-17 17:01:10
    赞同 展开评论