Mysql InnoDB 存储引擎简介

InnoDB 存储引擎是 Mysql 的默认存储引擎,它是由 Innobase Oy 公司开发的

Mysql 为什么默认使用 InnoDB 存储引擎

InnoDB 是一款兼顾高可靠性和高性能的通用存储引擎

在 Mysql 5.5 版本之前,默认是使用 MyISAM 存储引擎,在 5.5 及其之后版本,都默认使用 InnoDB 存储引擎;

可通过 show engines 命令查看当前服务支持的存储引擎

 各个存储引擎支持的特性

由上图可以看出 InnoDB 存储引擎 相比于 MyISAM 存储引擎

支持事务(也是众多存储引擎中唯一支持的),使用行级锁(高并发性),支持崩溃时自动恢复,支持外键约束,支持全文索引,支持自适应哈希索引(针对反复查询的行),使用缓冲池(用于缓存数据页和索引,提高数据的访问速度)

所以基于上述 InnoDB 的优势,可以得出

  • 事务支持和数据完整性:InnoDB 支持事务和外键约束,能够保证数据的完整性和一致性,适用于复杂的应用场景。而 MyISAM 不支持事务,存在数据丢失的风险。

  • 高并发性能:InnoDB 采用行级锁,相较于 MyISAM 的表级锁,能够在高并发环境下表现更好,提高读写性能,减少锁冲突。

  • 崩溃恢复能力:InnoDB 提供了更可靠的崩溃恢复机制,能在系统宕机或故障后自动恢复数据,保证系统的可用性和数据安全性。

因此在 Mysql 5.5 及其以后,使用了 InnoDB 存储引擎;

InnoDB 存储引擎架构

官方给出的架构图

由上图可以看出,InnoDB 主要包括内存结构和磁盘结构 

其中内存结构包括:缓冲池(Buffer pool),变更缓冲区(Change Buffer),日志缓冲区(Log Buffer),自适应哈希(Adaptive Hash Index)

磁盘结构包括:系统表空间,独立表空间,通用表空间,临时表空间,撤销表空间,撤销日志,双写缓冲区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rcnhtin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值