博客
关于我
每个表的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/

你可能感兴趣的文章
php 代码改进
查看>>
php 代码混淆
查看>>
PHP 使用 $_SERVER['PHP_SELF'] 获取当前页面地址及其安全性问题
查看>>
Redis系列之如何避免缓存击穿
查看>>
php 内存分析
查看>>
PHP 函数名前面加&
查看>>
redis报错
查看>>
php 删除包含某一字符的数组元素
查看>>
Redis学习总结(19)——Redis 5种集群方式对比
查看>>
php 反射
查看>>
php 处理 大并发
查看>>
php 大文件上传
查看>>
php 子进程监听消息,swoole学习笔记之多线程端口监听问题记录 多进程epoll模式...
查看>>
PHP 学习笔记 (四)
查看>>
Redis入门概述
查看>>
php 实现Iterator 接口
查看>>
PHP 实现N阶矩阵相乘
查看>>
php 实现进制转换(二进制、八进制、十六进制)互相转换
查看>>
PHP 实现页面跳转的三种方式及详细解析
查看>>
php 将XML对象转化为数组
查看>>