MyIsam & Innodb & Memory – Mysql存储引擎比较
【摘要】 如果您决定将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)