mysql存储引擎

1.介绍

MySQL中的文件系统,用来和"磁盘"交互.

2.类型

Innodb 默认
MyIsam 5.5之后不用了

 show engins;  #查看支持的引擎

3.InnDB 核心特性

transaction:事务
CR(Crash recovery): 自动故障恢复
MVCC: 多版本并发控制
热备:
行锁
AHI:自适应哈希索引
change buffer:更改缓冲区
DWB: 双写缓冲区
外键

3.1事务

事务的特性

3.2 MVCC

3.3行锁

4.InnoDB体系结构

4.1On_disk

在这里插入图片描述

4.1.1 TBS(TableSpace)表空间

a.系统表空间: ibdata1
8.0.19+ :Change buffer
8.0.11-8.0.19: Change buffer, DWB
5.7 :Change buffer, DWB,IDD,UNDO
5.6 :Change buffer, DWB,IDD,UNDO,tmp

b.用户表空间
8.0 :xxx.ibd---->单张表的数据字典+数据行+索引
5.5-5.7:
xxx.frm:单张表数据字典
xxx.ibd:数据行+索引

说明: MyIsam:t1.frm t1.myi t1.myd

c.undo表空间 undo_001 undo_002
5.7版本之后可以独立存储,8.0之后默认独立
作用:存储回滚日志.负责事务回滚,MVCC快照功能.

d.temp表空间: ibtmp1
存储临时数据.

4.1.2 其他

a. DWB(.dblwr):双写缓冲区,数据在写入磁盘数据页之前先写入DWB一份.防止数据页写坏时可以从DWB找到副本.
b. ib_buffer_pool:预热(把访问频繁的数据页dump到磁盘上,当重新启动时将其加载到内存)可以加速重新启动时加载内存的速度(顺序IO了)
在这里插入图片描述
c. redo 重做日志 ib_logfile0 ib_logfile1
记录数据页数据的变动
d. mysql.ibd
存储mysql库下的所有表信息.

4.2in-memory

在这里插入图片描述
buffer pool
缓冲和缓存数据页和索引页.MYSQL最大的内存区域.一般配置为物理内存的50-75%

log buffer
缓冲redo log 记录内存数据页的变化,日志的变化字节量会自动更新到LSN中.
内存中数据页的修改会在log_buffer中,最后这个日志会记录到redo_log中,数据会记录到磁盘中.

change buffer
AHI

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值