MyIsam & Innodb & Memory – Mysql存储引擎比较

举报
Tiamo_T 发表于 2021/11/25 16:16:28 2021/11/25
【摘要】 如果您决定将MySQL 数据库用于您的企业应用程序,您应该明智地选择适合您情况的 MySQL 存储引擎类型。

如果您决定将MySQL 数据库用于您的企业应用程序,您应该明智地选择适合您情况的 MySQL 存储引擎类型。

根据情况,特定的存储引擎可能是最合适的,也可能是最差的。

一旦您了解了所有 MySQL 存储引擎之间的差异,它将帮助您利用针对不同表使用不同存储引擎的灵活性。

通过正确选择适合您需求的 MySQL 引擎,您可以获得卓越的性能,并可以有效地优化您的 MySQL 数据库。

优点

  • MyISAM 最适合高“选择”查询率和非事务性操作。
  • InnoDB 最适合并行插入/更新/删除操作(因为行级锁定)和事务性操作(因为回滚功能)。
  • 内存引擎 (HEAP) 最适合动态快速数据访问,因为所有内容都存储在 RAM 中。

缺点

  • MyISAM 最糟糕的是高“插入/更新”查询率。(因为表级锁定)。
  • 当非事务性和只读操作结合使用时,InnoDB 是最糟糕的。
  • 内存引擎最不适合长期使用(因为数据完整性问题)和事务性操作。

差异

下表总结了这三种引擎之间的主要区别。仅列出这些引擎之间不同的功能,不包括所有三个引擎中都存在的功能。

Feature MyISAM InnoDB Memory
ACID Transaction No Yes No
Configurable ACID Properties No Yes No
Crash Safe No Yes No (RAM)
Foreign Key Support No Yes No
Multi Version Concurrency Control (MVCC) No Yes No
Geospatial datatype Yes Yes No
Geospatial indexing Yes No No
Full-text Search Index Yes No No
Data Cache No Yes N/A
Compressed Data Yes Yes No
Storage Limits 256TB 64TB RAM
Storage Cost Low High N/A
Memory Cost Low High Medium
Locking Granularity Table Row Table

.

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。