深入理解InnoDB(7)—系统表空间

系统表空间

image.png
可以看到,系统表空间和独立表空间的前三个页面(页号分别为0、1、2,类型分别是FSP_HDR、IBUF_BITMAP、INODE)的类型是一致的,只是页号为3~7的页面是系统表空间特有的

  • 页号3 SYS: Insert Buffer Header 存储Insert Buffer的头部信息
  • 页号4 INDEX: Insert Buffer Root 存储Insert Buffer的根页面
  • 页号5 TRX_SYS: Transction System 事务系统的相关信息
  • 页号6 SYS: First Rollback Segment 第一个回滚段的页面
  • 页号7 SYS: Data Dictionary Header 数据字典头部信息

1.SYS: Data Dictionary Header

记录4个表(SYS_TABLES、SYS_COLUMNS、SYS_INDEXES、SYS_FIELDS)的聚簇索引和二级索引对应的B+树位置.只要有了上述4个基本系统表,也就意味着可以获取其他系统表以及用户定义的表的所有元数据。

比方说我们想看看SYS_TABLESPACES这个系统表里存储了哪些表空间以及表空间对应的属性,那就可以:

  1. 到SYS_TABLES表中根据表名定位到具体的记录,就可以获取到SYS_TABLESPACES表的TABLE_ID

  2. 使用这个TABLE_ID到SYS_COLUMNS表中就可以获取到属于该表的所有列的信息。

  3. 使用这个TABLE_ID还可以到SYS_INDEXES表中获取所有的索引的信息,索引的信息中包括对应的INDEX_ID,还记录着该索引对应的B+数根页面是哪个表空间的哪个页面。

  4. 使用INDEX_ID就可以到SYS_FIELDS表中获取所有索引列的信息。

image.png

1.1 File Header

记录 页的一些通用信息

1.2 Data Dictionary Header

记录一些基本系统表的根页面位置以及InnoDB存储引擎的一些全局信息

1.3 Segment Header

记录本页面所在段对应的INODE Entry位置信息

1.4 Empty Space

用于页结构的填充,没啥实际意义

1.5 File Trailer

用于校验页是否完整

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

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

相关文章

CodeForces - 869B The Eternal Immortality

题意&#xff1a;已知a,b&#xff0c;求的最后一位。 分析&#xff1a; 1、若b-a>5&#xff0c;则尾数一定为0&#xff0c;因为连续5个数的尾数要么同时包括一个5和一个偶数&#xff0c;要么包括一个0。 2、若b-a<5&#xff0c;直接暴力求即可。 #include<cstdio>…

如何在24行JavaScript中实现Redux

90% convention, 10% library. 90&#xff05;的惯例&#xff0c;10&#xff05;的图书馆。 Redux is among the most important JavaScript libraries ever created. Inspired by prior art like Flux and Elm, Redux put JavaScript functional programming on the map by i…

卡方检验 原理_什么是卡方检验及其工作原理?

卡方检验 原理As a data science engineer, it’s imperative that the sample data set which you pick from the data is reliable, clean, and well tested for its usability in machine learning model building.作为数据科学工程师&#xff0c;当务之急是从数据中挑选出的…

Web UI 设计(网页设计)命名规范

Web UI 设计命名规范 一.网站设计及基本框架结构: 1. Container“container“ 就是将页面中的所有元素包在一起的部分&#xff0c;这部分还可以命名为: “wrapper“, “wrap“, “page“.2. Header“header” 是网站页面的头部区域&#xff0c;一般来讲&#xff0c;它包含…

leetcode 1486. 数组异或操作(位运算)

给你两个整数&#xff0c;n 和 start 。 数组 nums 定义为&#xff1a;nums[i] start 2*i&#xff08;下标从 0 开始&#xff09;且 n nums.length 。 请返回 nums 中所有元素按位异或&#xff08;XOR&#xff09;后得到的结果。 示例 1&#xff1a; 输入&#xff1a;n …

27个机器学习图表翻译_使用机器学习的信息图表信息组织

27个机器学习图表翻译Infographics are crucial for presenting information in a more digestible fashion to the audience. With their usage being expanding to many (if not all) professions like journalism, science, and research, advertisements, business, the re…

在HTML中使用javascript (js高级程序设计)

在HTML中使用javascript 刚开始入门的时候觉得关于应用以及在html中只用javascript很简单&#xff0c;不需要进行学习。我又开始重温了一下红宝书&#xff0c;觉得还是有必要进行学习的。这是一个笔记&#xff01; script 元素插入有多种方式 属性使用方式async延迟脚本&#x…

大数据新手之路二:安装Flume

Ubuntu16.04Flume1.8.0 1.下载apache-flume-1.8.0-bin.tar.gz http://flume.apache.org/download.html 2.解压到/usr/local/flume中 3.设置配置文件/etc/profile文件&#xff0c;增加flume的路径 ①vi /etc/profile export FLUME_HOME/usr/local/flume export PATH$PATH:$FLUME…

leetcode 1723. 完成所有工作的最短时间(二分+剪枝+回溯)

给你一个整数数组 jobs &#xff0c;其中 jobs[i] 是完成第 i 项工作要花费的时间。 请你将这些工作分配给 k 位工人。所有工作都应该分配给工人&#xff0c;且每项工作只能分配给一位工人。工人的 工作时间 是完成分配给他们的所有工作花费时间的总和。请你设计一套最佳的工作…

异步解耦_如何使用异步生成器解耦业务逻辑

异步解耦Async generators are new in JavaScript. They are a remarkable extension. They provide a simple but very powerful tool for splitting programs into smaller parts, making sources easier to write, read, maintain and test.异步生成器是JavaScript中的新增功…

函数的定义,语法,二维数组,几个练习题

1、请将’A’,’B’,’C’存入数组&#xff0c;然后再输出2、请将”我” “爱” “你”存入数组&#xff0c;然后正着和反着输出3、输入10个整数存入数组&#xff0c;然后复制到b数组中输出4、定义一个长度为10的数组&#xff0c;循环输入10个整数。 然后将输入一个整数&#x…

leetcode 1482. 制作 m 束花所需的最少天数(二分查找)

给你一个整数数组 bloomDay&#xff0c;以及两个整数 m 和 k 。 现需要制作 m 束花。制作花束时&#xff0c;需要使用花园中 相邻的 k 朵花 。 花园中有 n 朵花&#xff0c;第 i 朵花会在 bloomDay[i] 时盛开&#xff0c;恰好 可以用于 一束 花中。 请你返回从花园中摘 m 束…

算法训练营 重编码_编码训练营手册:沉浸式工程程序介绍

算法训练营 重编码Before you spend thousands of dollars and several months of your life on a coding bootcamp, spend 30 minutes reading this handbook.在花费数千美元和一生中的几个月时间参加编码训练营之前&#xff0c;请花30分钟阅读本手册。 这本手册适用于谁&…

面向Tableau开发人员的Python简要介绍(第4部分)

用PYTHON探索数据 (EXPLORING DATA WITH PYTHON) Between data blends, joins, and wrestling with the resulting levels of detail in Tableau, managing relationships between data can be tricky.在数据混合&#xff0c;联接以及在Tableau中产生的详细程度之间进行搏斗之间…

bzoj 4552: [Tjoi2016Heoi2016]排序

Description 在2016年&#xff0c;佳媛姐姐喜欢上了数字序列。因而他经常研究关于序列的一些奇奇怪怪的问题&#xff0c;现在他在研究一个难题&#xff0c;需要你来帮助他。这个难题是这样子的&#xff1a;给出一个1到n的全排列&#xff0c;现在对这个全排列序列进行m次局部排序…

oracle之 手动创建 emp 表 与 dept 表

说明&#xff1a; 有时候我们需要通用的实验数据&#xff0c;emp表 与 dept表 但是数据库中有没有。 这时&#xff0c;我们可以手动创建。 -- 创建表与数据CREATE TABLE EMP(EMPNO NUMBER(4) NOT NULL, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, S…

深入理解InnoDB(8)—单表访问

1. 访问方法 MySQL把执行查询语句的方式称之为访问方法或者访问类型。 而访问方法大致分为两类 全表扫描索引 而进行细分的话可以分为以下几类 &#xff08;为了方便说明&#xff0c;先建一个表&#xff09; CREATE TABLE single_table (id INT NOT NULL AUTO_INCREMENT,key…

蝙蝠侠遥控器pcb_通过蝙蝠侠从Circle到ML:第二部分

蝙蝠侠遥控器pcbView Graph查看图 背景 (Background) Wait! Isn’t the above equation different from what we found last time? Yup, very different but still looks exactly the same or maybe a bit better. Just in case you are wondering what I am talking about, p…

camera驱动框架分析(上)

前言 camera驱动框架涉及到的知识点比较多&#xff0c;特别是camera本身的接口就有很多&#xff0c;有些是直接连接到soc的camif口上的&#xff0c;有些是通过usb接口导出的&#xff0c;如usb camera。我这里主要讨论前者&#xff0c;也就是与soc直连的。我认为凡是涉及到usb的…

工程项目管理需要注意哪些问题

在社会科学技术发展和市场经济繁荣昌盛的今天&#xff0c;为更好的满足社会人性化的需求&#xff0c;建设施工企业在建筑施工、布局以及内部运行都给予了落实。而工程项目是建筑施工企业面向建筑市场的窗口&#xff0c;是企业建筑活动的前沿阵地&#xff0c;管理需更严谨。 虽说…