当前位置: 首页 > news >正文

四川省住房和城镇建设官方网站鲤城网站建设推广服务公司

四川省住房和城镇建设官方网站,鲤城网站建设推广服务公司,中策大数据工程信息网,甘肃企业网络推广软件1. COMPACT行格式 COMPACT行格式是MySQL5.1的默认行格式.其结构示意图如下. 大体可以分为两部分. 记录的额外信息.这里面有包括变长字段长度列表#xff0c;NULL值列表和记录头信息.记录的真实数据. (1).变长字段长度列表 MySQL支持一些变长的数据类型.比如VARCHAR(m), VA…1. COMPACT行格式 COMPACT行格式是MySQL5.1的默认行格式.其结构示意图如下. 大体可以分为两部分. 记录的额外信息.这里面有包括变长字段长度列表NULL值列表和记录头信息.记录的真实数据. (1).变长字段长度列表 MySQL支持一些变长的数据类型.比如VARCHAR(m), VARBINARY(n), TEXT类型.这些数据类型修饰的列称为变长字段.变长字段中存储多少字节的数据不是固定的所以我们在存储数据的时候也顺便把这些数据占用的字节数也存储起来.在COMPACT行格式中把所有变长字段的真实数据占用的字节数都存放在记录的开头部位从而形成变长字段长度列表. 这里存储的变长字段长度和字段顺序是反过来的.比如此处应该存放为060408. CREATE TABLE compact_demo( c1 VARCHAR(8), c2 VARCHAR(8), c3 CHAR(8), c4 VARCHAR(8) ) charsetascii ROW_FORMATCOMPACT;INSERT INTO compact_demo VALUES(zhangsan, lisi, wang5, ding1); (2). NULL值列表 compact格式会把可以为null值的列统一管理起来存放在一个标记为null值的列表中.如果表中没有允许存储null值的列则null值列表也就不存在了. 之所以要存储null值是因为数据是需要对齐的.如果没有表明出来null值的位置就有可能查询数据的时候发生混乱.如果使用一个特定的符号放到相应数据位表示null值的话会很浪费空间所以干脆直接在行数据开头开辟一处空间专门用来记录该行记录哪些是空数据哪些是非空. 二进制位为1时该列的值为null.为0时则该列的值为非空. 如果某字段明确了是非空的(比如NOT NULL/PRIMARY KEY)那么null值列表就不管这些字段了. (3).记录头信息 记录头信息占有5个字节大小.用于描述记录的一些属性. 1. 删除标记位Delete Flag占1位表示记录是否被标记为删除。在InnoDB中记录被删除时并不是立即物理删除而是通过设置这个标志位来标记记录为已删除这样可以快速“删除”记录且不影响后续的插入操作。2. 最小记录标记位Min Record Marker占1位仅在页内最小记录上设置为1表明这是页内用户记录中的最小记录。3. 最大记录标记位Max Record Marker占1位仅在页内最大记录上设置为1表明这是页内用户记录中的最大记录。4. heap_no占4位表示记录在页内的堆编号用于标识记录在页中插入的顺序。5. next_record占16位或24位取决于行格式记录指向下一个记录的指针用于遍历页内的记录链表。在Compact和Redundant行格式中通常是16位在DYNAMIC和COMPRESSED行格式中可能使用24位以适应更大的页大小。6. n_owned占4位在B树的非叶节点中表示子页的数量在聚集索引的叶节点中表示指向同一行的辅助索引记录数量。7. record type占3位表示记录类型常见的有- 0普通用户记录。- 1目录项记录用于B树的内部节点。- 2最小记录Infimum- 3: 最大记录Supremum这两个特殊的记录用来界定用户记录的边界不存储实际用户数据。这些字段的作用以后细谈. (4). 记录的真实数据 记录的真实数据除了我们自己定义的列的数据外还有三个隐藏列. 这些列的真实名称其实是 : DB_ROW_ID, DB_TRX_ID, DB_ROLL_PTR. 值得注意的是除了第一个row_id其他两个都是必须的.这是为什么呢? 原因我们讲过创建聚簇索引时我们优先选择用户自定义的主键作为主键如果无则会选择一个非空且唯一键作为主键如果无那么InnoDB会为表默认添加一个名为row_id的列作为隐藏列作为主键. 2. DYNAMIC/COMPRESSED行格式 MySQL5.7和8.0默认的行格式都是dynamic. 这两个行格式只有在行溢出这种情况下有所区别简单介绍一下行格式. 我们知道一个页的大小一般是16kb.也就是16384字节.而一个类型为varchar(m)的列最多可以存储65533个字节.这样就可能出现了一个页存放不下一条记录.这种情况叫行溢出. 在COMPACT/REDUNTANT行格式中对于占用存储空间非常大的列在记录的真实数据处只会存储该列的一部分数据把其他剩余数据分散存储在几个其他的页中进行分页存储.然后记录的真实数据用20个字节存储指向这些页的地址.从而可以找到剩余数据所在的页.在DYNAMIC/COMPRESSED行格式中对于存放在blog中的数据采用了完全行溢出的方式.比如在数据页中只存放20个字节的地址实际数据都放在溢出页中.
http://www.w-s-a.com/news/878104/

相关文章:

  • 网站建设公司行业建设网站需要提供什么资料
  • 别人的做网站网页打不开图片
  • 北京专业网站设计推荐怎么建立网站网址
  • 上海网站建设开发公司哪家好网站数据搬家
  • 杭州建站平台哪里有免费的网站推广软件
  • 深圳极速网站建设服务什么网站可以做产品入驻
  • 淄博易宝网站建设app推广拉新公司
  • 营销型外贸网站建设软件备案域名出租
  • 网站域名禁止续费m99ww094cn 苍井空做的网站
  • 上海建设工程网站大同网站建设熊掌号
  • 设计类书籍网站江苏网站建设简介模板
  • 手机企业网站推广c 手机app开发
  • 网站建设需要多少天凡客建设网站稳定吗
  • 房天下网站建设女生说wap是什么意思
  • 网站开发安全机制北京做网站多少钱合理
  • 扁平化 公司网站建设大型视频网站需要的资金量
  • 免费建各种网站淄博网站建设yx718
  • 凡科网建站入门教程运城市网站建设
  • 黄浦区未成年人思想道德建设网站oa系统是什么
  • 微信里的网站怎么做电子商务网站开发平台
  • 易企秀网站怎么做轮播图网站建设张世勇
  • 网站备案幕布尺寸建立网页的几个步骤
  • pc网站页面找出网站所有死链接
  • 专业做seo的网站网站内连接
  • 阿里云网站开发服务器想开网站建设公司
  • 网站开发不足之处茶叶seo网站推广与优化方案
  • 响应式网站建设系统网站优化怎么做 有什么技巧
  • 班级网站做哪些方面wordpress标签 扩展
  • 如何在电商上购物网站Wordpress 域名授权插件
  • 网站建设后台怎么弄昆明如何做好关键词推广