Mysql 何时使用MyISAM和InnoDB?

Mysql 何时使用MyISAM和InnoDB?,mysql,database,database-schema,Mysql,Database,Database Schema,MyISAM的设计理念是,查询数据库的次数远远多于更新的数据库,因此它执行非常快速的读取操作。如果您的读写(insert | update)比率小于15%,那么最好使用MyISAM InnoDB使用行级锁定,具有提交、回滚和崩溃恢复功能来保护用户数据。它支持事务和容错 MyISAM和InnobDB之间的上述差异是否正确如果MYISAM和InnobDB存在任何其他限制,请提供指导。我应该什么时候使用MyiSAM或Innodb?谢谢 对于非常不重要的数据,或者如果您确实需要这些最小的性能优势,请使用

MyISAM的设计理念是,查询数据库的次数远远多于更新的数据库,因此它执行非常快速的读取操作。如果您的读写(insert | update)比率小于15%,那么最好使用MyISAM

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


MyISAM和InnobDB之间的上述差异是否正确如果MYISAM和InnobDB存在任何其他限制,请提供指导。我应该什么时候使用MyiSAM或Innodb?谢谢

对于非常不重要的数据,或者如果您确实需要这些最小的性能优势,请使用MyISAM。MyISAM的读取性能并非在所有情况下都更好

我个人再也不会使用MyISAM了。如果您需要更高的性能,请选择InnoDB并投入更多的硬件。另一个想法是,如果适用的话,可以考虑使用更多像PostgreSQL这样的功能的数据库系统

编辑:对于读取性能,此链接显示innoDB通常并不比MyISAM慢:

阅读

MyISAM:

MySQL中的存储引擎

  • 设计和创建更简单,因此更适合初学者。不用担心表之间的外部关系
  • 总体上比InnoDB更快,因为结构更简单,因此服务器资源成本更低。-基本上不再是真的
  • 全文索引。-InnoDB现在有了
  • 特别适用于阅读密集型(选择型)表格基本上不再是真的
  • 磁盘占用空间比InnoDB小2-3倍从5.7版开始,这可能是MyISAM唯一的真正优势
InnoDB:

MySQL中的存储引擎

  • 交易支持(为物业提供支持)
  • 行级锁定。具有更细粒度的锁定机制可以提供比以下更高的并发性,例如
  • 外键约束。允许您让数据库确保数据库状态的完整性以及表之间的关系
  • InnoDB比MyISAM更能抵抗表损坏
  • 支持数据和索引的大型缓冲池。MyISAM密钥缓冲区仅用于索引
  • 迈桑停滞不前;所有未来的增强都将在InnoDB中实现。随着8.0版的推出,这一点变得非常清楚
MyISAM限制:

  • 没有外键和级联删除/更新
  • 无事务完整性(符合ACID)
  • 没有回滚能力
  • 4284867296行限制(2^32)--这是旧的默认值。可配置限制(对于许多版本)为2**56字节
  • 每个表最多64个索引
InnoDB限制:

  • 没有全文索引(低于5.6 mysql版本)
  • 无法压缩为快速只读(5.5.14引入
    ROW\u FORMAT=compressed
  • 无法修复InnoDB表
要获得简要理解,请阅读以下链接:


  • 几乎没有什么情况。1.如果您想使用全文搜索,请使用MYISAM。2.如果您想在表中使用关系约束,请使用INNODB。为什么不查看右侧名为“Related”的列?为什么这显然是一个太重复且即将结束的问题?@Neo Mysql 5.6还支持全文搜索InnoDB@AdvaitAmin没有,先生。感谢您的帮助。MySQL 5.6中的InnoDB中提供了全文索引功能。您没有列出MyISAM的优点。@Perception添加MyISAM DScript&以下所有链接。要将MyISAM转换为InnoDB,请参阅。InnoDB在MySQL 5.7中也有一个限制,即每个表最多有64个索引。“使用MyISAM处理非常不重要的数据”夸大了可靠性差异,特别是在使用现代日志文件系统时。更普遍的观点是MyISAM的阅读速度更快。我不明白为什么Percona博客的结果是个例外。我们在两个引擎的表上做了实验,发现MyISAM的读取速度通常是InnoDB的两倍。在可能的情况下,最好使用您自己的真实数据和环境进行测试。@或者您是正确的,只有使用自己的数据进行测试才能显示性能影响。我的实验表明,在大多数只读情况下几乎没有任何差异,myisam在定期写入时往往会遇到实际问题,因此在我迄今为止使用innodb的所有用例中,innodb的性能都要好得多。到博客条目的链接现在已经有10年的历史了。在我们的测试中,我们的查找速度提高了80倍,遗憾的是,对于写密集型应用程序,它没有得到改进。