InnoDB 存储引擎(8)——InnoDB 存储引擎文件
1. 表空间文件
- InnoDB 采用将存储的数据按表空间进行存放的设计
- 在默认配置下,会有一个初始大小为10MB,名为ibdata1的文件
- 该文件就是默认的表空间文件
- 用户可以通过多个文件组成一个表空间
- 所有基于InnoDB 存储引擎的表的数据都会记录到该共享表空间(innodb_data_file_path指向的表空间);innodb_file_per_table 参数用于指定独立表空间。
- 独立表空间存储的是该表的数据、索引和插入缓存BITMAP 等信息
- 其余信息存放在共享表空间,例如 Insert Buffer 等
2. 重做日志文件(redo log file)
- 虽然属于日志文件,但是是InnoDB 存储引擎中特有的
- 每个InnoDB 存储引擎至少有1个redo 日志文件组,每个组下至少有2个redo log 文件,如默认的ib_logfile0 和ib_logfile1
- 为了得到更高的可靠性,用户可以设置多个镜像日志组,将不同的文件组放在不同的磁盘上,以此提高redo log的高可用性
- 日志组中的每个redo log 文件大小一致,并以循环写入的方式运行。
- 先写ib_logfile0
- ib_logfile0 写满后切换为ib_logfile1
- ib_logfile1 写满后切换为ib_logfile0
- redo log 文件的大小应该设置合适。设置太大,在恢复时可能需要很长的时间;设置太小,可能导致一个事务的日志需要多次切换redo log 文件,另外redo log 文件太小还会导致频繁发生async checkpoint,导致性能的抖动
- 记录的是关于每个页的更改的物理情况
- redo log 基本格式
▲ redo_log_type 占用1字节,表示redo 日志的类型
▲ space 表示表空间ID,但采用压缩的方式,因此占用的空间可能小于4字节
▲ page_no:表示页的偏移量,同样采用压缩的方式
▲ redo_log_body:表示每个redo 日志的数据部分,恢复时需要调用相应的函数进行解析
- redo 日志写入过程
InnoDB 存储引擎(8)——InnoDB 存储引擎文件相关推荐
- 3种mysql的储存机制_MySQL三种InnoDB、MyISAM和MEMORY存储引擎对比
三种引擎的区别: 事务:InnoDB支持事务,MyISAM和MEMORY两个不支持. 存储限制:InnoDB有64TB的存储限制,MyISAM和MEMORY要跟具体情况而定. 空间使用:InnoDB对 ...
- MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)
MySQL是我们经常使用的数据库处理系统(DBMS),不知小伙伴们有没有注意过其中的"存储引擎"(storage_engine)呢?有时候面试题中也会问道MySQL几种常用的存储引 ...
- mysql 内存引擎_MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)
MySQL是我们经常使用的数据库处理系统(DBMS),不知小伙伴们有没有注意过其中的"存储引擎"(storage_engine)呢?有时候面试题中也会问道MySQL几种常用的存储引 ...
- Mysql 存储引擎中InnoDB与Myisam的主要区别
一直以为我spring事物没有配置好,结果发现是mysql的表本身设置成了Myisam 引擎.改成innodb就支持事物了. 1, 事务处理 innodb 支持事务功能,myisam 不支持. Myi ...
- mysql存储引擎中INNODB和MyISAM的区别
切记:存储引擎是基于表的,而不是数据库. 存储引擎概念: MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不 ...
- MySQL常用存储引擎之Innodb
在MYSQL5.5版本之后,具体是在5.58版本之后,InnoDB代替MYISAM称为MYSQL的默认存储引擎,说实话呢,是一个非常重要的事情,之前在使用MYSQL时,说别人使用InnoDB,而不用m ...
- mysql存储引擎innodb_MySQL常用存储引擎之Innodb
1. mysql 5.5及之后版本默认存储引擎 为不了解存储引擎的数据库使用者,提供了很大的便利,因为innodb适应大部分应用场景. 和myisam不同的是,innodb是一种事务型存储引擎.也就是 ...
- Mysql存储引擎中InnoDB与Myisam的区别
为什么80%的码农都做不了架构师?>>> 1. 事务处理 innodb 支持事务功能,myisam 不支持. Myisam 的执行速度更快,性能更好. 2. select ,u ...
- mysql innodb和myisam区别_MySQL?存储引擎简介
大家好,我是anyux.本文介绍MySQL存储引擎. 简介 相当于Linux文件系统,只不过比文件系统强大 功能 数据读写 数据安全和一致性 提高性能 热备份 自动故障恢复 高可用方面支持 引擎类别 ...
- MySQL存储引擎及InnoDB并发控制介绍
MySQL存储引擎采用了可插拔的结构,即用户可以根据自己的需要来选择不同的存储引擎. 下表是MySQL不同的存储引擎的不同的特性: Feature<?xml:namespace prefix = ...
最新文章
- C++访问属性和继承属性浅析
- Android开发四年以来的工作难点总结
- LuckyDraw app使用CosmosDB的成本分析
- 逝去的大学生活自己丢了什么
- 从浪漫走向坚韧:开源数据库的演变
- mysql5.7是测试版本吗_mysql免安装版本测试(mysql-5.7.18-winx64)
- 使用DataTable动态绑定GridView
- 【java】java 多线程 异步计算 FutureTask 源码详解
- Java杂记3—流程控制之条件 1
- 提高语音识别率:必须加入深度学习吗?
- c语言无纸化测评答案,无纸化计算机二级C语言程序设计题库答案程序题
- 一张图解AlphaGo原理及弱点
- 阳性水草与阴性水草的区分
- 微云网页版服务器繁忙,腾讯微云传输速度慢的几种原因及解决方法
- 20 张图表达程序员的心酸
- 蛋花花分析到底该不该让孩子学编程
- 聚类分析的评价指标(性能度量)
- 手把手教你使用Python网络爬虫获取音效信息
- python入门教程pdf免费_python入门教程pdf
- 互联网日报 | 6月17日 星期四 | 神舟十二号载人飞船今日发射;荣耀50系列正式发布;黑石拟30.5亿美元收购SOHO中国...