Mysql表空间、段、区、页的关系

news2024/12/27 13:25:37

提示:mysql表空间、段、区、页的关系详细描述

文章目录

  • 表空间-TABLE SPACE
    • 1 查看
  • 表空间相关参数
  • 段(segment)
  • 区(extent)
  • 页(page)

在这里插入图片描述

表空间-TABLE SPACE

从 InnoDB 逻辑存储结构来看,所有的数据都被逻辑的存放在一个空间中,这个空间就叫做表空间(tablespace)。表空间由 段(segment)、区(extent)、页(page)组成。

lnnoDB存储引擎的逻辑存储结构和 Oracle大致相同 ,所有数据都被逻辑地存放在一个空间中 ,我们称之为表空间 ( tablespace ) 。表空间又由段 ( segment ) 、区 ( extent ) 、页 ( page ) 组成 。页在一些文档中有时也称为块(block) , InnoDB存储引擎的逻辑存储结构大致如上一张的图片一样。

表空间可以看做是InnoDB存储引擎逻辑结构的最高层 ,所有的数据都是存放在表空间中。默认情况下 InnoDB存储引擎有一个系统表空间 ,即innoDB data dictionary(InnoDB元数据信息)、doublewrite buffer(双写缓冲区)、change buffer(改变缓冲区)、undo logs都放在这个表空间内 。如果我们启用了参数innodb_file_per_table ,则每张表内的数据可以单独放到一个表空间内

1 查看

show variables like ‘innodb_file_per_table’;

show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+
1 row in set (0.01 sec)

innodb_file_per_table 是否开启单表表空间,该参数为全局参数,可动态修改,默认为ON,如果设置为OFF,在没有显式指定表空间情况下,数据及索引默认存放到系统表空间ibdata下

表空间相关参数

innodb_data_file_path : 表空间大小及文件个数由该参数决定,该参数为全局参数,不可动态修改,默认值为 ibdata1:12M:autoextend,默认的12M大小是根据innodb_page_size按最大值指定的,为了确保其空间可以容纳doublewrite buffer pages,则:
innodb_page_size为16K时(MySQL默认值) 最小值为3M
innodb_page_size为32K时 最小值为6M
innodb_page_size为64K时 最小值为12M

段(segment)

​ 段(Segment)分为索引段,数据段,回滚段等。其中索引段就是非叶子结点部分,而数据段就是叶子结点部分,回滚段用于数据的回滚和多版本控制。一个段包含256个区(256M大小)。

​ 一个段包含多少区:256个区

区(extent)

​ 区是页的集合,一个区包含64个连续的页,默认大小为 1MB (64*16K)。

页(page)

​ 页是 InnoDB 管理的最小单位,常见的有 FSP_HDR,INODE, INDEX 等类型。所有页的结构都是一样的,分为文件头(前38字节),页数据和文件尾(后8字节)。页数据根据页的类型不同而不一样。

​ 每个空间都分为多个页,通常每页16 KiB。空间中的每个页面都分配有一个32位整数页码,通常称为“偏移量”(offset),它实际上只是页面与空间开头的偏移量(对于多文件空间,不一定是文件的偏移量)。因此,页面0位于文件偏移量0,页面1位于文件偏移量16384,依此类推。 (InnoDB 的数据限制为64TiB,这实际上是每个空间的限制,这主要是由于页码是32位整数与默认页大小的组合

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/749142.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

顺序表 --- C语言实现

目录 1.线性表 2.顺序表 2.1 概念和结构 2.2 接口实现 2.3 数组相关面试题 2.4 顺序表的问题及思考 1.线性表 什么是线性表 : 线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常…

Vue3 概述

文章目录 Vue3 概述概述Vue3对比Vue2优势使用create-vue创建项目概述创建项目目录结构 使用vue-cli创建项目概述创建项目目录结构 Vue3 概述 概述 Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript…

自定义指令directives:防抖,节流,element-ui的无限滚动在el-table上使用的封装

vue官网对于自定义指令的介绍 添加链接描述 除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令。注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件。然而,有的情况下,你仍然需要对普通 DOM…

分布式事物【RocketMQ事务消息、Docker安装 RocketMQ、实现订单微服务、订单微服务业务层实现】(八)-全面详解(学习总结---从入门到深化)

目录 可靠消息最终一致性分布式事务实现_RocketMQ事务消息 可靠消息最终一致性分布式事务实战_案列业务介绍 数据库表设计 可靠消息最终一致性分布式事务实战_Docker安装 RocketMQ 部署RocketMQ的管理工具 可靠消息最终一致性分布式事务实战_实现订单微服务 可靠消息最终一…

分层解耦-IOCDI-DI详解

目录 Bean注入 小结 依赖注入的注解 Resource和Autowired区别 Bean注入 Autowired注解,默认是按照类型进行依赖注入,如果存在多个相同类型的bean就会报错 解决方案 Primary(设置bean的优先级) Qualifier(通过bean…

简单版本视频播放服务器V1

一直想做个家用版本的视频播放器,通过这个可以实现简单的电脑,通过浏览器就是可以访问电脑里面的视频,通过手机,平板等都是可以访问自己的视频服务了 后端代码: package mainimport ("fmt""io/iouti…

2023年7月13日 星期四 Linux驱动作业

1.使用platform驱动实现代码实现如下要求 a.应用程序通过阻塞的io模型来读取number变量的值 b.number是内核驱动中的一个变量 c.number的值随着按键按下而改变(按键中断) 例如number0 按下按键number1再次按下按键number0d.在按下按键的时候需要同时将1ed1的状态取反 t e.驱动…

Tik Tok你不知道的那些知识?

TikTok是一款短视频社交平台,由中国公司字节跳动(ByteDance)开发和运营。它让用户可以通过手机拍摄、编辑和分享15秒至60秒的短视频,涵盖了各种内容,包括音乐、舞蹈、喜剧、唱歌、游戏等。TikTok以其简单易用和丰富多样…

Meteor code must always run within a Fiber 报错解决办法

报错: 这样的写法会出现这个报错 大概的意思就是说,目前你这个函数不是运行在meteor的环境中,所以要使用Meteor.bindEnvironment,来改变函数运行的上下文 解决办法:

87. 把字符串转换成整数

目录 链接: 题目: 思路: 代码: 图片: 链接: 原题链接 题目: 请你写一个函数 StrToInt,实现把字符串转换成整数这个功能。 当然,不能使用 atoi 或者其他类似的库函数…

摆脱基础设施束缚,亚马逊云科技提出生成式AI方法论

“未来近在咫尺,只不过时隐时现 (The future is here, its just not evenly distributed yet.)”--亚马逊云科技全球产品副总裁Matt Wood博士引用“赛博朋克之父” William Gibson 的一句名言来表达生成式AI的发展现状。 自去年底ChatGPT惊艳众人开始,这…

云原生高性能API网关,选Apache APISIX还是Nginx Plus

文章首发地址 Apache APISIX 对比 Nginx Plus APISIX 和 Nginx Plus 都是高性能的 API 网关,具有类似的特点,如可扩展性、插件化、负载均衡、反向代理等。下面对 APISIX 和 Nginx Plus 进行对比: 开源授权:APISIX 是 Apache 开…

Java阶段五Day05

Java阶段五Day05 文章目录 Java阶段五Day05问题解析无法启动Naocs Nacos服务注册发现Nacos运行架构nacos-server是一个服务进程 配置注册服务端客户端csmall-for-jsd-business-adapter 整合nacos-clientyaml详细配置注册信息在nacos中的内存状态多实例注册服务抓取(…

五大引擎全新升级!轻流 5.0 正式发布

轻流的5.0版本,一个“陪伴企业成长的一站式开发平台”,它将更加灵活、更加开放,同时更加低门槛。 ——轻流联合创始人&CPO 严琦东 7月6日,在一年一度的无代码无边界 202376Day 轻流无代码探索者大会上,轻流联合创…

SpringMVC实现对页面的访问和跳转~

初识MVC: MVC是一种软件架构的思想,将软件按照模型,视图,控制器来划分 M:Model,模型层,指工程中的JavaBean,作用是处理数据 JavaBean分为两类: 一类称为实体类Bean:专门存储业务数据的&…

Java 中线程相关的各种锁

一、Java对象与锁 1、对象结构 2、对象头的 Mark Word 二、锁介绍 1、概念和种类 1、乐观锁 不加锁,在使用数据时判断数据是不是最新。常用CAS算法实现 2、自旋锁 与 适应性自旋锁 两者并不是锁,而是锁提供的处理方式。 自旋锁(JDK1.4&a…

Sentinel 熔断与限流

文章目录 1 是什么?2 特征3 特性4 与Hystrix的区别5 两个部分6 应用6.1 依赖6.2 配置文件 7 流量配置规则7.1 直接(默认)7.2 关联7.3 Warm Up 预热7.4 排队等待 8 熔断降级8.1 概述RT(平均响应时间,秒级)异常比列(秒级)异常数(分钟…

python-cv2模块安装

1.自动安装 如果网络环境好: pip install opencv-python2.卸载与安装指定版本 卸载opencv pip uninstall opencv-python安装指定版本的cv 指定版本为:4.5.4.60 pip install opencv-python 4.5.4.603.下载安装包安装 从官网下载正确安装包安装&#x…

【Linux工具】编译器、调式器、项目自动化构建工具以及git的使用2(make/makefile和git的基本使用)

【Linux工具】编译器、调式器、项目自动化构建工具以及git的使用2(make/makefile和git的基本使用) 目录 【Linux工具】编译器、调式器、项目自动化构建工具以及git的使用2(make/makefile和git的基本使用)背景make和makefile的用法…

Proxy-Reflect使用详解

1 监听对象的操作 2 Proxy类基本使用 3 Proxy常见捕获器 4 Reflect介绍和作用 5 Reflect的基本使用 6 Reflect的receiver Proxy-监听对象属性的操作(ES5) 通过es5的defineProperty来给对象中的某个参数添加修改和获取时的响应式。 单独设置defineProperty是只能一次设置一…