MySQL 存储引擎 有几种 都有什么优缺点?

MySQL常见的三种存储引擎为InnoDB、MyISAM和MEMORY。它们各自有一些优缺点:

1. InnoDB存储引擎:
优点:
- 提供了事务管理、回滚、崩溃修复能力、和多版本并发控制的事务安全;
- 支持外键约束,提高了数据的一致性和完整性;
- 支持行级锁,提高了并发性能;
- 支持外键约束,提高了数据的一致性和完整性;
- 支持索引组织表,提高了数据检索性能。

缺点:
- 读写稍微差点,占用的数据空间相对较大;
- 从3.23.34a开始包含InnoDB存储引擎。

2. MyISAM存储引擎:
优点:
- 不支持事务的完整性和并发性;
- 数据存储空间相对较小;
- 处理速度快;
- 支持全文搜索。

缺点:
- 不支持事务的完整性和并发性;
- 主机宕机后,MyISAM表易损坏,灾难恢复性不佳;
- 只能支持表级锁,并发性差;
- 只支持非索引组织表,数据检索性能较低。

3. MEMORY存储引擎:
优点:
- 查询速度快,因为数据直接存储在内存中;
- 适用于临时表、缓存等场景;
- 支持全文搜索。

缺点:
- 数据不是持久化的,重启MySQL服务或机器宕机会丢失数据;
- 性能波动较大,受内存大小和机器负载影响;
- 不适用于大容量数据;
- 备份和恢复过程较为复杂。

总结:InnoDB适合处理大量数据、需要保证数据一致性和完整性的场景;MyISAM适合处理大量数据、对数据一致性和完整性要求不高、追求高性能的场景;MEMORY适合处理临时表、缓存等快速查询的场景。

posted @ 2023-09-05 16:44  星空物语之韵  阅读(308)  评论(0编辑  收藏  举报