(十六)大白话理解数据在磁盘上的物理存储之后,聊聊行溢出是什么东西?

news/2025/2/19 3:15:52/

文章目录

    • 1、什么是行溢出?
    • 2、一点点总结
    • 3、接下来内容

1、什么是行溢出?

上一篇文章我们已经理解清楚了一行数据在磁盘上的物理存储结构了,其实理解了这个,你也就理解了每一行数据在磁盘上是如何存储的,以及他被加载到缓存里来的时候,一行数据都包含哪些东西了。

今天我们来聊聊行数据的物理存储的一个高阶的话题,就是行溢出到底是个什么东西?

我们之前已经初步了解到,实际上我们每一行数据都是放在一个数据页里的,这个数据页默认的大小是16KB,那么之前就有人提过一个问题:万一 一行数据的大小超过了页的大小怎么办呢?

比如有一个表的字段类型是VARCHAR(65532),意思就是最大可以包含65532个字符,那也就是65532个字节,这就远大于16kb的大小了,也就是说这一行数据的这个字段都远超一个数据页的大小了!

这个时候实际上会在那一页里存储你这行数据,然后在那个字段中,仅仅包含他一部分数据,同时包含一个20个字节的指针**,指向了其他的一些数据页,那些数据页用链表串联起来,存放这个VARCHAR(65532)超大字段里的数据**。

我们看下图,就给出了这个示意。


http://www.ppmy.cn/news/8497.html

相关文章

快速入门 TFGNN

快速入门 TFGNN TFGNN是基于 TensorFlow 的 GNN 库,它同时实现了 MessagePassing 和 GraphNets 框架,这意味着您可以轻松地在框架中设置上下文(全局)值。 开始前的一些有用链接:图神经网络简介(GNN 初学者…

整数划分——完全背包的变形

整数划分——完全背包的变形一、题目二、思路分析1、状态转移方程(1)状态表示(2)方程书写2、循环与初始化(1)循环(2)初始化三、代码一、题目 二、思路分析 这道题这么看的话还是比较…

网络原理3 IP地址

网络原理3 IP地址 文章目录网络原理3 IP地址IP协议的报文格式IP地址的具体规则IP地址的组成子网掩码特殊的IP地址IP地址短缺的解决方法动态分配IP地址NAT机制[主流机制]IPv6路由选择网络层中主要做的事情是在两点之间规划出一个合理的路径,同时也要对主机所处的位置…

基于React Native开发的非法App破解记录

目标app YUhSMGNITTZMeTloWm1ZdWJIVnNkWE5wY2k1dFpTOD0 使用jadx反编译,找了一圈没有找到相应代码,看AndroidManifest.xml也不像有加壳的样子。。。 在lib目录下找到libreactnativejni.so文件,看似和react相关,莫非这app是大前端…

EMNLP 22:SetGNER: General Named Entity Recognition as Entity Set Generation

SetGNER: General Named Entity Recognition as Entity Set Generation **任务形式:**识别flat、nest和不连续实体。 **任务建模方式:**采用基于pointer的方式实现任务建模,文本序列中的每个word可以用tag表示,具体为&#xff1…

OpenDDS开发人员指南中文版3.23(1)简介

1 简介 OpenDDS是OMG实时系统数据分发服务(DDS)规范v1.4(OMG文档正式/2015-04-10)和实时发布订阅有线协议DDS互操作性有线协议规范(DDSI-RTPS)v2.3(OMG文件正式/2019-04-03)的开源实现。 OpenDDS还实现了DDSSecurity安全规范v1.1(OMG文档正式/2018-04-01)和DDS XType…

Golang switch 的使用的注意事项和细节

内容来自:尚硅谷-韩老师教学笔记,链接:尚硅谷 1)case/switch 后是一个表达式( 即:常量值、变量、一个有返回值的函数等都可以) 2)case 后的各个表达式的值的数据类型,必须和 switch 的表达式数据类型一致 3…

golang 自定义命令行flag包简单使用

一、为什么需要使用golang自定义命令行 不恰当的比喻,当我们写了一个服务代码后,按照简单的思维,我们会在业务代码中将要连接的数据库 用户名、主机名、端口号、密码写死。 那么也就意味着我们启动该服务后都只能固定连接某一个数据库&#x…