博客
关于我
每个表的extent为什么没有一个固定数量
阅读量:786 次
发布时间:2019-03-25

本文共 477 字,大约阅读时间需要 1 分钟。

InnoDB存储引擎在内部存储数据时采用了文件式存储机制,这一机制决定了表的实际存储方式。每个表会有一个特定的**分区页面(partition page)**用来记录该秒的信息。这个页面也被称为该表的分区页面。

分区页面中通常有5个slot,这些slot分别有不同的用途。第4个slot用于存储表上的索引信息,而第5个slot则记录每个extent的长度和起始页面的偏移位置。由于页面的长度是固定的,slot1、slot2和slot3的内容长度相对固定,而slot4的内容会根据实际情况发生变化,这也决定了slot5所能提供的空间大小也是会变化的。

如果从表的结构来看,这正是表中extent数量没有固定的根本原因。每个表所拥有的extent数量是动态分配的,因为分区页面中的slot4和slot5的空间使用比例实际上取决于具体的索引构造和数据分布情况。

这个特性使得InnoDB表能够灵活地调整存储结构来适应数据的写入和读取需求,从而在不同的负载情况下实现最优性能表现。在优化数据库性能时,理解这一特性对于选择适当的索引设计和数据分布策略具有重要意义。

转载地址:http://byduk.baihongyu.com/

你可能感兴趣的文章
MSCRM调用外部JS文件
查看>>
MSEdgeDriver (Chromium) 不适用于版本 >= 79.0.313 (Canary)
查看>>
MsEdgeTTS开源项目使用教程
查看>>
msf
查看>>
MSSQL数据库查询优化(一)
查看>>
MSSQL日期格式转换函数(使用CONVERT)
查看>>
MSTP多生成树协议(第二课)
查看>>
MSTP是什么?有哪些专有名词?
查看>>
Mstsc 远程桌面链接 And 网络映射
查看>>
Myeclipse常用快捷键
查看>>
MyEclipse用(JDBC)连接SQL出现的问题~
查看>>
myeclipse的新建severlet不见解决方法
查看>>
MyEclipse设置当前行背景颜色、选中单词前景色、背景色
查看>>
myeclipse配置springmvc教程
查看>>
MyEclipse配置SVN
查看>>
MTCNN 人脸检测
查看>>
MyEcplise中SpringBoot怎样定制启动banner?
查看>>
MyPython
查看>>
MTD技术介绍
查看>>
MySQL
查看>>