14.2.5.7 Physical Row Structure 物理数据结构:
- 14.2.5.7 Physical Row Structure 物理数据结构:
- InnoDB物理记录结构依赖行格式 在表创建的时候, 默认, InnoDB 使用Antelope 文件存储格式和它的压缩行格式。
- 冗余的格式是保留 和MySQL 老版本的兼容性。
- 当你启用 innodb_file_per_table设置,你也可以使用更新的Barracuda file format,
- 它的DYNAMIC 和COMPRESSED 行模式.
- 检查InnoDB 表的行格式,你可以使用SHOW TABLE STATUS,比如:
- mysql> SHOW TABLE STATUS IN test1\G
- *************************** 1. row ***************************
- Name: t1
- Engine: InnoDB
- Version: 10
- Row_format: Compact
- Rows: 0
- Avg_row_length: 0
- Data_length: 16384
- Max_data_length: 0
- Index_length: 16384
- Data_free: 0
- Auto_increment: 1
- Create_time: 2014-10-31 16:02:01
- Update_time: NULL
- Check_time: NULL
- Collation: latin1_swedish_ci
- Checksum: NULL
- Create_options:
- Comment:
- 你可以检查row format 通过查询INFORMATION_SCHEMA.INNODB_SYS_TABLES.
- COMPACT row 格式降低了20% 的row storage space 代价是增加CPU使用对于一些操作。
- 如果你的工作负载是一个典型的受限于cache命中率和disk speed.
- COMPACT 格式是可能更快的, 如果 负载是受限于 CPU 速度,COMPACT 格式可能会更慢。
- Rows 在InnoDB 表使用冗余的行格式有下面的特点:
- 1.每个index 记录包含一个6位的头, header 是用于连接连续的记录,也还row-level 锁定
- 2. 在clustered index 中的记录包含字段用于所有用户自定义的列,此外,
- 有一个6字节的事务ID 字段和7字节的指针字段。
- 3. 如果表上没有主键,每个clustered index record包含一个8字节的row ID 子弹
- 4.每个secondary index record 包含所有的主键列,定义为 clustered index key 而不是secondary index
- 5.一个记录包含一个指针到每个记录的字段,如果字段的总长度在一个记录里是小于128字节,
- 指针是一个字节,否则, 是2个字节。这些指针的数组被称为记录目录, 这些指针指向的区域称为数据部分
- 6. 内部的,InnoDB 存储固定长度的字符列 比如CHAR(10) 在一个固定长度的格式,
- InnoDB 不截取VARCHAE 列两侧的空格。
- 7.一个SQL NULL 值保留一个或者2个字节在record directory. 除此之外,
- 一个SQL NULL 值储备0个字节在记录的数据部分 如果存储在一个可变的列里。
- 在一个固定列,它保留固定列的长度在数据部分.
- 在InnoDB 表的记录使用COMPACT 行格式有下面的特点:
- 1. 每个index 记录包含一个5字节header ,header 是用于连接连续的记录,也是在行级锁定。
- 2.记录header的可变长度部分包含一个位向量来表明NULL列。
- 如果索引中的列数可以是NULL 是N, 位向量占据上限(N/8) 字符。(举个例子,如果在任何地方从9到15列 可以是NULL,
- 位向量使用2个字节)
- 列是NULL 不会占用space 。
- 3. 记录header 后面跟着非空列的数据内容
- 4.记录在clustered index 包含字段对于所用用户定义的列,此外,有一个6字节的事务ID字段和一个7字节的指针字段
- 5.如果表上没有主键定义,每个clustered index记录也包含一个6字节的row ID字段
- 6.每个secondary index record 也包含所有的主键列定义用于 clustered index key 而 不是secondary index.
- 如果那些主键列字段是可变长度,record header 对于每个secondary index 会有一个可变长度部分来记录它们的长度,
- 即使secondary index 是定义在一个固定长度列
14.2.5.7 Physical Row Structure 物理数据结构:的更多相关文章
- 14.8.3 Physical Row Structure of InnoDB Tables InnoDB 表的物理行结构
14.8.3 Physical Row Structure of InnoDB Tables InnoDB 表的物理行结构 一个InnoDB 表的物理行结构取决于在创建表指定的行格式 默认, Inno ...
- 14.2.5.4 Physical Structure of an InnoDB Index InnoDB Index 的物理结构
14.2.5.4 Physical Structure of an InnoDB Index InnoDB Index 的物理结构 所有的InnoDB indexes 是B-trees ,index ...
- 14.9.2 Specifying the Row Format for a Table 指定 表的行格式
14.9.2 Specifying the Row Format for a Table 指定 表的行格式 mysql> SHOW TABLE STATUS\G; *************** ...
- HDU 5066 Harry And Physical Teacher(物理题)
HDU 5066 Harry And Physical Teacher 思路:利用物理里面的动量守恒公式.因为保证小车质量远大于小球.所以能够把小车质量当成无穷大带进去,得到答案为2 * v0 - v ...
- 专题实验 Storage structure 物理存储
物理存储结构主要是指: extent的分配, 以及datablock 存储相关, 置于tablespace, segment 都是逻辑结构. tablespace : 逻辑结构, 没有实际物理存储. ...
- UVa 11995:I Can Guess the Data Structure!(数据结构练习)
I Can Guess the Data Structure! There is a bag-like data structure, supporting two operations: 1 x T ...
- MySQL 5.6 Reference Manual-14.2 InnoDB Concepts and Architecture
14.2 InnoDB Concepts and Architecture 14.2.1 MySQL and the ACID Model 14.2.2 InnoDB Multi-Versioning ...
- Limits on Table Column Count and Row Size Databases and Tables Table Size 最大行数
MySQL :: MySQL 8.0 Reference Manual :: C.10.4 Limits on Table Column Count and Row Size https://dev. ...
- The BLOB and TEXT Types
官网参考:https://dev.mysql.com/doc/refman/5.7/en/blob.html 字符串类型对应的存储需求 Data Type Storage Required CHAR( ...
随机推荐
- 九度OnlineJudge之1022:游船出租
题目描述: 现有公园游船租赁处请你编写一个租船管理系统.当游客租船时,管理员输入船号并按下S键,系统开始计时:当游客还船时,管理员输入船号并按下E键,系统结束计时.船号为不超过100的正整数. ...
- UE-9260使用说明1
UE-9260使用说明 序号 版本号 日期 备注 1 V0.1 2015-03-21 原始版本号.作者:xiaobin 2 3 4 5 主机环境 1.烧写操作 仿真器和FTP烧写 OS: Win XP ...
- java高级project师须要掌握的技术
1.你须要精通面向对象分析与设计(OOA/OOD).涉及模式(GOF,J2EEDP)以及综合模式.你应该十分了解UML,尤其是class,object,interaction以及statediagra ...
- C++ 中mallon动态分配内存大小用法
#include<iostream> using namespace std; int main(){ char *s; int n; cin>>n; s= (char *) ...
- 面向对象(类,实例变量,方法定义,方法重载,构造方法,this,string类)
面向对象 类是由属性和方法组成 类是所有创建对象的模板 实例变量有默认值 实例变量至少在本类范围中有效 实例变量与局部变量冲突时,局部变量优先 类中方法定义类似于函数定义 修饰符 返回值类型 方法名( ...
- Android Studio创建库项目及引用
Android Studio创建库项目其实创建的是在主项目下创建Module模块,这个Module模块创建的时候选择库项目模式. 为什么要这样处理呢?因为在Android Studio中一个WorkS ...
- poj3819 Coverage (求直线与圆的交占直线的百分比 )
题意:给你一条直线和若干个圆,求圆与直线相交的长度占整条直线的比例 解题思路:通过定比分点的方法求出圆与直线的交占圆的比例. 第一步:(确定投影的方向是x轴还是y轴) (1)当直线的line.s(x, ...
- I/O操作技术
对I/O操作有三种可能的技术:可编程I/O.中断驱动I/O.直接内存存取(DMA) 可编程I/O 当处理器正在运行程序并遇到一个与I/O相关的指令时,它通过给对应的I/O模块发命令来运行这个指令 ...
- javax.servlet.http.HttpServletRequest;
错误提示是没有引入javax.servlet.http.HttpServletRequest所在的包,编译错误. 这么添加: 项目-->右键-->properties-->java ...
- if(男深圳集体户口&&女非深圳户口)深圳准生证办理材料及流程
所需材料 一.女方需要办理流动人口婚育证明(蓝色的小本本). 办理材料.各地可能不同.这个是在女方的户籍所在地办理(最好在女方户籍所在地办理女方初婚未育证明). 二.男方在公司开出初婚未育证明. 三. ...