1. compact 行记录格式:

变长字段长度列表,null标志位,记录头信息,列1数据,列2数据 ……

记录头信息中包含许多信息,只列举一部分:

名称 大小 描述
deleted_flag 1bit 该行是否已被删除
record_type 3bit 记录类型,000表示普通,001表示B+树节点,010表示Infimun,011表示Supremum,1xx表示保留
next_record 16bit 页中下一条记录的相对位置
n_owned 4bit 该记录拥有的记录数

2. 页是InnoDB存储引擎管理数据库的最小磁盘单位。

File Header 部分字段:

名称   大小(字节) 说明
FIL_PAGE_OFFET 4 表空间中页的偏移值。如某独立表空间a.ibd的大小为1G,如果页的大小为16KB,那么总共有65536个页。FIL_PAGE_OFFET表示改页在所有页中的位置。若此表空间的id为10,那么搜索页(10, 1)就表示查找表a中的第2页
FIL_PAGE_PREV 4 当前页的上一页,B+树的叶子节点是双向链表
FIL_PAGE_NEXT 4 下一页
FIL_PAGE_LSN 8 该页最后被修改的LSN(Log Sequence Number)
FIL_PAGE_TYPE 2 InnoDB存储引擎页的类型

FIL_PAGE_TYPE的取值说明:

名称 解释
FIL_PAGE_INDEX B+树叶节点
FIL_PAGE_UNDO_LOG Undo log 页
FIL_PAGE_INODE 索引节点

InnoDB行记录格式(compact)、InnoDB数据页结构的更多相关文章

  1. 数据页结构 .InnoDb行格式、以及索引底层原理分析

    局部性原理 局部性原理是指CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中. 首先要明白局部性原理能解决的是什么问题,也就是主存容量远远比缓存大, CP ...

  2. Mysql之InnoDB行格式、数据页结构

    Mysql架构图 存储引擎负责对表中的数据的进行读取和写入,常用的存储引擎有InnoDB.MyISAM.Memory等,不同的存储引擎有自己的特性,数据在不同存储引擎中存放的格式也是不同的,比如Mem ...

  3. InnoDB的数据页结构

    页是InnoDB存储引擎管理数据库的最小磁盘单位.页类型为B-tree node的页,存放的即是表中行的实际数据了. InnoDB数据页由以下七个部分组成,如图所示: File Header(文件头) ...

  4. InnoDB存储引擎介绍-(7) Innodb数据页结构

    数据页结构 File Header 总共38 Bytes,记录页的头信息 名称 大小(Bytes) 描述 FIL_PAGE_SPACE 4 该页的checksum值 FIL_PAGE_OFFSET 4 ...

  5. InnoDB的行记录格式, Compact, Redundant, Compressed, Dynamic

    InnoDB存储引擎和大多数数据库一样(如Oracle和Microsoft SQL Server数据库),记录是以行的形式存储的.这意味着页中保存着表中一行行的数据.到MySQL 5.1时,InnoD ...

  6. InnoDB数据页结构

    前言 ​ 关于数据库我们知道是通过内存对磁盘进行操作的,也知道数据会落实到磁盘上,但是数据在磁盘上的存储结构可能大家还不是很清楚. ​ MySQL服务器上负责对表中的数据的读取和写入的工作的部分是存储 ...

  7. MySQL InnoDB 行记录格式(ROW_FORMAT)

    MySQL InnoDB 行记录格式(ROW_FORMAT) 一.行记录格式的分类和介绍 在早期的InnoDB版本中,由于文件格式只有一种,因此不需要为此文件格式命名.随着InnoDB引擎的发展,开发 ...

  8. InnoDB -- 行记录格式

    本文转载自InnoDB -- 行记录格式 分类 Named File Format InnoDB早期的文件格式(页格式)为Antelope,可以定义两种行记录格式,分别是Compact和Redunda ...

  9. SQL Server 存储(1/8):理解数据页结构

    我们都很清楚SQL Server用8KB 的页来存储数据,并且在SQL Server里磁盘 I/O 操作在页级执行.也就是说,SQL Server 读取或写入所有数据页.页有不同的类型,像数据页,GA ...

随机推荐

  1. react native 渐变组件 react-native-linear-gradient

    github:  https://github.com/react-native-community/react-native-linear-gradient 安装:yarn add  react-n ...

  2. Spring Security 中的加密BCryptPasswordEncoder

    // // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler ...

  3. Spring Boot的数据访问 之Spring Boot + jpa的demo

    1. 快速地创建一个项目,pom中选择如下 <?xml version="1.0" encoding="UTF-8"?> <project x ...

  4. 前端调用接口报错看不到报错响应时 console.dir

    console.dir() 可以看到很多.log看不到的属性和方法

  5. 2018年浙江理工大学程序设计竞赛校赛 Problem I: 沙僧

    沙僧 思路: dfs序+差分数组 分层考虑,通过dfs序来查找修改的区间段,然后用差分数组修改 代码: #include<bits/stdc++.h> using namespace st ...

  6. 第 3 章 镜像 - 021 - Docker 镜像小结

    镜像小结 镜像的常用操作子命令: images    显示镜像列表 history   显示镜像构建历史 commit    从容器创建新镜像 build     从 Dockerfile 构建镜像 ...

  7. (转)C# 单例模式

    文章1:  一.多线程不安全方式实现 public sealed class SingleInstance    {        private static SingleInstance inst ...

  8. ubuntu16.04安装LCM

    1.sudo apt-get install build-essential autoconf automake autopoint libglib2.0-dev libtool openjdk-8- ...

  9. Getting started with Processing 第十三章——延伸(2)

    与 Arduino 联动 在 Processing 中,可以通过:import processing.serial.* Serial port; //声明串口对象port = new Serial(t ...

  10. xml ----> 几个常用dtd头文件模板

    环境: idea ce 2018.1 "File --> settings... --> Editor --> file and code templates" ...