mysql 5.7 innodb 预热_Mysql InnoDB引擎原理(基于mysql5.7)

InnoDB简介

InnoDB的github地址:https://github.com/mysql/mysql-server/tree/5.7/storage/innobase 。InnoDB是一种平衡高可靠性和高性能的通用存储引擎。在MySQL 5.7中,InnoDB是默认的MySQL存储引擎。

InnoDB的主要优势:  InnoDB的MDL操作遵循ACID模型,具有提交,回滚和崩溃恢复功能的事务来保护数据;支持行级锁定和一致性读取提高了并发性和性能;InnoDB每个表都有一个称为聚簇索引的主键索引,用于组织数据以最小化主键查找的IO;InnoDB支持外键约束,使用外键,将检查 插入,更新和删除,以确保它们不会导致不同表之间的不一致。

Mysql存储引擎整体架构图

mysql InnoDB存储引擎主要分为两大部分内存结构和磁盘结构。其中内存结构由buffer pool(缓冲池),change buffer(改变缓冲区),adaptive hash index(自适应哈希索引),log buffer(日志缓冲区).四部分构成。磁盘结构由tables(表),indexes(索引),tablesspace(表空间),InnoDB Data Dictionary(InnoDB 数据字典),Doublewrite Buffer(双写缓冲区), Redo Log(重做日志), Undo Log(撤销日志) 七部分组成。

10baead11ed1

Mysql存储引擎整体架构图

InnoDB的内存结构

Buffer Pool(缓冲池)

buffer pool是主存中的一个区域,用于缓存表和索引数据。缓存池允许直接从内存处理常用数据来提升处理速度。在专用的服务器上,通常会将最多80%的物理内存分配给缓冲池。

为了提高大容量读取的效率,缓冲池被分成可容纳多行的页面。为了提高缓存管理的效率,缓冲池被实现为链接的页面列表;使用LRU算法的变体,很少使用的数据在缓存中老化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值