MyISAM 的设计理念是,您的数据库被查询的次数远远多于其被更新的次数,因此它执行非常快的读取操作。如果您的读写(插入|更新)比率低于 15%,那么最好使用 MyISAM。
InnoDB 使用行级锁定,具有提交、回滚和崩溃恢复功能来保护用户数据。支持事务和容错
MyISAM 和 InnobDB 之间的上述差异是否正确?MYISAM和InnoDB是否还有其他限制,请指导。我什么时候应该使用 MyiSAM 还是 Innodb?谢谢你!
阅读存储引擎.
MyISAM:
The MyISAMMySQL 中的存储引擎。
- 设计和创建更简单,因此更适合初学者。不用担心表之间的外部关系。
- 由于结构更简单,整体上比 InnoDB 更快,因此服务器资源的成本也少得多。 ——大多不再正确。
- 全文索引。 -- InnoDB 现在有了
- 特别适合读取密集型(选择)表。 ——大多不再正确。
- 磁盘占用空间比 InnoDB 少 2-3 倍。 -- 从版本 5.7 开始,这可能是 MyISAM 唯一真正的优势。
InnoDB:
The InnoDBMySQL 中的存储引擎。
- 支持交易(为您提供支持ACID财产)。
- 行级锁定。与例如相比,拥有更细粒度的锁定机制可以为您提供更高的并发性MyISAM.
- 外键约束。允许您让数据库确保数据库状态以及表之间关系的完整性。
- InnoDB 比 MyISAM 更能抵抗表损坏。
- 支持数据和索引的大型缓冲池。 MyISAM 键缓冲区仅用于索引。
- MyISAM 停滞不前;所有未来的增强都将在 InnoDB 中。随着 8.0 版本的推出,这一点变得更加清晰。
MyISAM 限制:
- 无外键和级联删除/更新
- 没有事务完整性(ACID 合规性)
- 没有回滚能力
- 4,284,867,296 行限制 (2^32) -- 这是旧的default。可配置的限制(对于许多版本)是 2**56 字节。
- 每个表最多 64 个索引
InnoDB 限制:
- 无全文索引(mysql 5.6以下版本)
- 无法快速压缩,只读(5.5.14 引入
ROW_FORMAT=COMPRESSED
)
- 您无法修复 InnoDB 表
如需简要了解,请阅读以下链接:
- MySQL 引擎:InnoDB 与 MyISAM – 优缺点比较
缺点
- MySQL 引擎:MyISAM 与 InnoDB
- InnoDB 和 MyISAM 之间的主要区别是什么?
- MyISAM 与 InnoDB
- MyISAM 和 InnoDB 有什么区别?
- MySql:MyISAM 与 Innodb!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)