InnoDB存储引擎表的逻辑存储结构
1.索引组织表:
innodb1.2.x版本号開始新增參数innodb_page_size能够将默认页的大小设置为4k、8k,可是页中的数据库不是压缩。
当中包括一个问题就是用户启用了innodb_file_per_table參数后。创建的表默认大小是96kb,可是区中是64个连续的页,创建的表的大小应该至少是1MB才对,由于在每一个段開始时。先用32个页大小的碎片页来存放数据,使用完之后才申请64个连续页,为了节省磁盘容量的开销。
页(page): 页是innodb磁盘管理的最小单位。默认每一个页的大小为16KB。常见的页有:数据页、undo页、系统页、事务数据页、插入缓冲位图页等。
行:每一个页存放的行记录最多同意存放16kb/2-200行记录,
innodb存储引擎中的记录是以行的形式存储的。这意味着页中保存着一行行的数据,在innodb1.0.x之前,提供了compact和redundant两种格式存放行记录数据,
3.1. compact行记录格式:
mysql5.0以后引入,为了高效的存储数据,一个页中存放的行数据越多,性能越高,其存储方式为:
首部是一个非NULL变长字段长度列表,长度最大不超过2字节,第二部分是null标志位。指示该行数据是否含有null值,有就用1表示,记录头信息固定占用5字节(40位),最后就是实际存储每列的数据。特别注意,null不占用该部分不论什么空间,除了占用null标志位。还有就是每行数据除了用户自己定义的以外,还包括隐藏列。事务id列和回滚指针列。各自是6字节和7字节的大小 ,假设没有主见。每行还会添加一个6字节的rowid列。
首部是一个字段长度偏移列表,也是依照列的顺序逆序放置的,第二部分记录头信息占用6字节,最后就是实际存储的每列的数据。
tree的意义,变成链表了),因此假设一个页仅仅能存放一条记录,那么innodb存储引擎会自己主动将行数据存放在溢出页中。
新的行记录格式对于存放在BLOB中的数据採用了全然的行溢出方式,在数据页中仅仅存放20字节的指针,实际的数据都存放在off page中(不同于compact和redundant格式会存放768个前缀字节),
由下面7个部分组成:
space是链表数组结构,在一条记录被删除后。该空间就会被增加到空暇链表中
InnoDB存储引擎表的逻辑存储结构的更多相关文章
- InnoDB的表类型,逻辑存储结构,物理存储结构
表类型 对比Oracle支持的各种表类型,InnoDB存储引擎表更像是Oracle中的索引组织表(index organized table).在InnoDB存储引擎表中,每张表都有个主键,如果在创建 ...
- InnoDB存储引擎表的主键
在InnoDB存储引擎中,表是按照主键顺序组织存放的.在InnoDB存储引擎表中,每张表都有主键(primary key),如果在创建表时没有显式地定义主键,则InnoDB存储引擎会按如下方式选择或创 ...
- mysql数据库 myisam数据存储引擎 表由于索引和数据导致的表损坏 的修复 和检查
一.mysqlcheck 进行表的检查和修复 1.检查mysqlisam存储引擎表的状态 #mysqlcheck -uuser -ppassword database table -c #检查单 ...
- {MySQL存储引擎介绍}一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用
MySQL存储引擎介绍 MySQL之存储引擎 本节目录 一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用 一 存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是 ...
- INNODB存储引擎表空间
这片文章主要是对innodb表空间的一些说明: innodb中表空间可以分为以下几种: 系统表空间 独立表空间 undo表空间 临时表空间(temporary tablespace) 通用表空间(ge ...
- MySQL的nnodb引擎表数据分区存储
Symlinks are fully supported only for MyISAM tables. 对应Innodb引擎数据文件放到其他目录 mysql> SHOW VARIABLES L ...
- InnoDB存储引擎介绍-(5) Innodb逻辑存储结构
如果创建表时没有显示的定义主键,mysql会按如下方式创建主键: 首先判断表中是否有非空的唯一索引,如果有,则该列为主键. 如果不符合上述条件,存储引擎会自动创建一个6字节大小的指针. 当表中有多个非 ...
- InnoDB 逻辑存储结构
本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/80 如果创建表时没有显示的定义主键,mysql会按如下方式创建主 ...
- MYSQL Innodb逻辑存储结构
转载于网络 这几天在读<MySQL技术内幕 InnoDB存储引擎>,对 Innodb逻辑存储结构有了些了解,顺便也记录一下: 从InnoDB存储引擎的逻辑存储结构看,所有数据都被逻辑地存放 ...
随机推荐
- Visual Studio 2012连接TFS2010登录不了
一直用VS2012+TFS2010开发项目, 最近几天忽然很不正常, 在VS中会频繁要求输入TFS的账号密码, 经常要输入很多遍才可以正常连接签入签出. 这几天更甚, 基本上直接连接不了了. 网上找到 ...
- Windows之权限的继承性 累加性 优先性 交叉性及四项基本原则
Windows NT以后的文件,及文件夹共享设置有以下特性:继承性.累加性.优先性.交叉性. 继承性是说下级的目录在没有经过重新设置之前,是拥有上一级目录权限设置的.这里还有一种情况要说明一下 ...
- DRP经验总结
思想 指导 从开始看DRP项目到完成已经有三个月左右的时间了,这是一个足够长的视频,当看第一集的时候就再想,啥时候看完呢? 其间,也断断续续,有时看的效率高有时相反,有时几天看不了几集,好在总算看完了 ...
- DHCP安装配置详解
DHCP基于客户/服务器模式.当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端提供自动分配IP地址的服务. 当然高级的DHCP,不光只是分配地址这么简单,今天我们 ...
- LXD 2.0 系列(一):LXD 入门
LXD是提供了RESTAPI的LXC 容器管理器,主要是管理linux容器的第三方管理器.也许现在您还没有听说过,下面我们就来入门——介绍一下LXD 什么是 LXD ? 简单地说,LXD 就是一个提供 ...
- Cognos TM1_10.1.1服务端安装
出于对bi行业的强大热爱,出于对cognos tm1的强大兴趣,于是就想研究一下Cognos TM1(table manager one),今天就分享一下自己微不足道研究成果,真可谓是tm1的九牛一毛 ...
- Cognos权限认证CJP方式之用户密码加密
在项目开发过程中,用户往往对系统的安全都有明确的要求,下面针对cognos门户认证用户密码如何加密来提供一个简单的wf 1Cognos权限认证方式:CJP 2Cognos用户数据库类型:Oracle ...
- 初始小R-安装启动与测试
非常感谢<深入浅出数据分析>这本书让我有幸认识了R,多多少少的弥补了我心里对R语言.R分析.R工具的模糊认知,下面我们就来体验一下R语言的魅力吧!GO! 一:下载R R官方地址:http: ...
- 【cocos2d-x 3.7 飞机大战】 决战南海I (七) 控制器的实现
控制器中的功能并不多,主要是以下这些 //对玩家分数的操作 CC_SYNTHESIZE_READONLY(SaveData *, m_saveData, SaveData); void update( ...
- Spring MVC配置CORS(解决跨域请求)
1. CORS 简介 同源策略(same origin policy)是浏览器安全的基石.在同源策略的限制下,非同源的网站之间不能发送 ajax 请求的. 为了解决这个问题,w3c 提出了跨源资源共享 ...