说说MySQL数据库存储引擎有哪些,有什么区别

Java面试 潘老师 8个月前 (09-05) 163 ℃ (0) 扫码查看



Java面试题:说说MySQL数据库存储引擎有哪些,有什么区别

得分点

InnoDB、MyISAM、Memory

标准回答

MySQL数据库存储引擎主要有InnoDB和MyISAM,Memory以及其他MySQL存储引擎仅做了解。

  • InnoDB引擎:InnoDB是MySQL的事务安全(ACID兼容)存储引擎,具有提交、回滚和崩溃恢复功能来保护用户数据。它支持行级锁定读取,增加了多用户并发性和性能。InnoDB将用户数据存储在聚集索引中,以减少基于主键的常见查询的I/O,同时支持FOREIGN KEY来维护数据完整性。
  • MyISAM引擎:MyISAM引擎的表占用空间较小,但其表级锁定限制了读/写工作负载的性能。因此,它通常用于只读或以读取为主的场景。
  • Memory引擎:Memory引擎将所有数据存储在RAM中,以便在需要快速查找非关键数据的环境中进行快速访问。它以前被称为HEAP引擎。
  • Archive引擎:Archive引擎适合存储大量的独立数据,通常作为历史记录,因为它们不经常被读取。它具有高效的插入速度,但对查询的支持相对较差。
  • Cluster/NDB引擎:Cluster/NDB引擎是高冗余的存储引擎,使用多台数据机器联合提供服务以提高整体性能和安全性。它适合数据量大、安全性和性能要求高的应用。
  • Federated引擎:Federated引擎提供连接单独的MySQL服务器,从多个物理服务器创建一个逻辑数据库的能力。这对于分布式或数据集市环境非常合适。

版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/javainterview/8757.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】