1. 14.2.5.7 Physical Row Structure 物理数据结构:
  2.  
  3. InnoDB物理记录结构依赖行格式 在表创建的时候, 默认, InnoDB 使用Antelope 文件存储格式和它的压缩行格式。
  4.  
  5. 冗余的格式是保留 MySQL 老版本的兼容性。
  6.  
  7. 当你启用 innodb_file_per_table设置,你也可以使用更新的Barracuda file format,
  8.  
  9. 它的DYNAMIC COMPRESSED 行模式.
  10.  
  11. 检查InnoDB 表的行格式,你可以使用SHOW TABLE STATUS,比如:
  12.  
  13. mysql> SHOW TABLE STATUS IN test1\G
  14. *************************** 1. row ***************************
  15. Name: t1
  16. Engine: InnoDB
  17. Version: 10
  18. Row_format: Compact
  19. Rows: 0
  20. Avg_row_length: 0
  21. Data_length: 16384
  22. Max_data_length: 0
  23. Index_length: 16384
  24. Data_free: 0
  25. Auto_increment: 1
  26. Create_time: 2014-10-31 16:02:01
  27. Update_time: NULL
  28. Check_time: NULL
  29. Collation: latin1_swedish_ci
  30. Checksum: NULL
  31. Create_options:
  32. Comment:
  33.  
  34. 你可以检查row format 通过查询INFORMATION_SCHEMA.INNODB_SYS_TABLES.
  35.  
  36. COMPACT row 格式降低了20% row storage space 代价是增加CPU使用对于一些操作。
  37.  
  38. 如果你的工作负载是一个典型的受限于cache命中率和disk speed.
  39.  
  40. COMPACT 格式是可能更快的, 如果 负载是受限于 CPU 速度,COMPACT 格式可能会更慢。
  41.  
  42. Rows InnoDB 表使用冗余的行格式有下面的特点:
  43.  
  44. 1.每个index 记录包含一个6位的头, header 是用于连接连续的记录,也还row-level 锁定
  45.  
  46. 2. clustered index 中的记录包含字段用于所有用户自定义的列,此外,
  47.  
  48. 有一个6字节的事务ID 字段和7字节的指针字段。
  49.  
  50. 3. 如果表上没有主键,每个clustered index record包含一个8字节的row ID 子弹
  51.  
  52. 4.每个secondary index record 包含所有的主键列,定义为 clustered index key 而不是secondary index
  53.  
  54. 5.一个记录包含一个指针到每个记录的字段,如果字段的总长度在一个记录里是小于128字节,
  55.  
  56. 指针是一个字节,否则, 2个字节。这些指针的数组被称为记录目录, 这些指针指向的区域称为数据部分
  57.  
  58. 6. 内部的,InnoDB 存储固定长度的字符列 比如CHAR(10) 在一个固定长度的格式,
  59.  
  60. InnoDB 不截取VARCHAE 列两侧的空格。
  61.  
  62. 7.一个SQL NULL 值保留一个或者2个字节在record directory. 除此之外,
  63.  
  64. 一个SQL NULL 值储备0个字节在记录的数据部分 如果存储在一个可变的列里。
  65.  
  66. 在一个固定列,它保留固定列的长度在数据部分.
  67.  
  68. InnoDB 表的记录使用COMPACT 行格式有下面的特点:
  69.  
  70. 1. 每个index 记录包含一个5字节header ,header 是用于连接连续的记录,也是在行级锁定。
  71.  
  72. 2.记录header的可变长度部分包含一个位向量来表明NULL列。
  73.  
  74. 如果索引中的列数可以是NULL N, 位向量占据上限(N/8) 字符。(举个例子,如果在任何地方从915 可以是NULL,
  75.  
  76. 位向量使用2个字节)
  77.  
  78. 列是NULL 不会占用space
  79.  
  80. 3. 记录header 后面跟着非空列的数据内容
  81.  
  82. 4.记录在clustered index 包含字段对于所用用户定义的列,此外,有一个6字节的事务ID字段和一个7字节的指针字段
  83.  
  84. 5.如果表上没有主键定义,每个clustered index记录也包含一个6字节的row ID字段
  85.  
  86. 6.每个secondary index record 也包含所有的主键列定义用于 clustered index key 不是secondary index.
  87.  
  88. 如果那些主键列字段是可变长度,record header 对于每个secondary index 会有一个可变长度部分来记录它们的长度,
  89.  
  90. 即使secondary index 是定义在一个固定长度列

14.2.5.7 Physical Row Structure 物理数据结构:的更多相关文章

  1. 14.8.3 Physical Row Structure of InnoDB Tables InnoDB 表的物理行结构

    14.8.3 Physical Row Structure of InnoDB Tables InnoDB 表的物理行结构 一个InnoDB 表的物理行结构取决于在创建表指定的行格式 默认, Inno ...

  2. 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 ...

  3. 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; *************** ...

  4. HDU 5066 Harry And Physical Teacher(物理题)

    HDU 5066 Harry And Physical Teacher 思路:利用物理里面的动量守恒公式.因为保证小车质量远大于小球.所以能够把小车质量当成无穷大带进去,得到答案为2 * v0 - v ...

  5. 专题实验 Storage structure 物理存储

    物理存储结构主要是指: extent的分配, 以及datablock 存储相关, 置于tablespace, segment 都是逻辑结构. tablespace : 逻辑结构, 没有实际物理存储. ...

  6. 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 ...

  7. 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 ...

  8. 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. ...

  9. The BLOB and TEXT Types

    官网参考:https://dev.mysql.com/doc/refman/5.7/en/blob.html 字符串类型对应的存储需求 Data Type Storage Required CHAR( ...

随机推荐

  1. 九度OnlineJudge之1022:游船出租

    题目描述:     现有公园游船租赁处请你编写一个租船管理系统.当游客租船时,管理员输入船号并按下S键,系统开始计时:当游客还船时,管理员输入船号并按下E键,系统结束计时.船号为不超过100的正整数. ...

  2. UE-9260使用说明1

    UE-9260使用说明 序号 版本号 日期 备注 1 V0.1 2015-03-21 原始版本号.作者:xiaobin 2 3 4 5 主机环境 1.烧写操作 仿真器和FTP烧写 OS: Win XP ...

  3. java高级project师须要掌握的技术

    1.你须要精通面向对象分析与设计(OOA/OOD).涉及模式(GOF,J2EEDP)以及综合模式.你应该十分了解UML,尤其是class,object,interaction以及statediagra ...

  4. C++ 中mallon动态分配内存大小用法

    #include<iostream> using namespace std; int main(){ char *s; int n; cin>>n; s= (char *) ...

  5. 面向对象(类,实例变量,方法定义,方法重载,构造方法,this,string类)

    面向对象 类是由属性和方法组成 类是所有创建对象的模板 实例变量有默认值 实例变量至少在本类范围中有效 实例变量与局部变量冲突时,局部变量优先 类中方法定义类似于函数定义 修饰符 返回值类型 方法名( ...

  6. Android Studio创建库项目及引用

    Android Studio创建库项目其实创建的是在主项目下创建Module模块,这个Module模块创建的时候选择库项目模式. 为什么要这样处理呢?因为在Android Studio中一个WorkS ...

  7. poj3819 Coverage (求直线与圆的交占直线的百分比 )

    题意:给你一条直线和若干个圆,求圆与直线相交的长度占整条直线的比例 解题思路:通过定比分点的方法求出圆与直线的交占圆的比例. 第一步:(确定投影的方向是x轴还是y轴) (1)当直线的line.s(x, ...

  8. I/O操作技术

     对I/O操作有三种可能的技术:可编程I/O.中断驱动I/O.直接内存存取(DMA) 可编程I/O 当处理器正在运行程序并遇到一个与I/O相关的指令时,它通过给对应的I/O模块发命令来运行这个指令 ...

  9. javax.servlet.http.HttpServletRequest;

    错误提示是没有引入javax.servlet.http.HttpServletRequest所在的包,编译错误. 这么添加: 项目-->右键-->properties-->java ...

  10. if(男深圳集体户口&&女非深圳户口)深圳准生证办理材料及流程

    所需材料 一.女方需要办理流动人口婚育证明(蓝色的小本本). 办理材料.各地可能不同.这个是在女方的户籍所在地办理(最好在女方户籍所在地办理女方初婚未育证明). 二.男方在公司开出初婚未育证明. 三. ...