数据页面结构问题?

习惯性蹭分 2013-01-08 06:32:37
在mssql中数据的每个字段值在数据页面中的保存位置是随机的吗?可是我在另外的资料上又看到‘在页头部分,会记录页面属性,包括页面编号等,还会记录当前页面空闲部分的起始位置在哪里,插入数据的时候会在寻那个起始位置插入 ’,要不哪们大牛讲讲数据页面结构也行。
...全文
181 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rfq 2013-01-10
  • 打赏
  • 举报
回复
行内数据 数据页 1、页面头 96 字节 2、数据行 3、数据行的偏移矩阵(各行在页面的位置)
大力水手 2013-01-09
  • 打赏
  • 举报
回复
呵呵,还真是不好讲, 自己的语言描述一下子吧.感觉数据就是一堆数字的组合,类似于一个无须的数组.有聚集索引吗就叶子级别包含数据,也可以说聚集索引就是数据本身,也可以说结构变了,不在时堆结构了,而是栈结构了.意识就是逻辑上有序了,他们的那个页通过双向链表(页链)链接起来了,记得这里是逻辑而不是物理连续哦.而且每个非聚集索引还都包含这个聚集键值. 每次增删改都要维护非聚集索引上的这个指针了.确保他指向正确的聚集键嘛,而且要维护这个页链,比如说你1-2-3 这个三个数据页一个页链.现在插入2页中一个大行,不中啊.2页空间放不下这个大行,咋办,分页,1-2-2.5-3 加了个叶子..2页中原来数据的一半复制到2.5中,其他页不动!我丫语言组织能力不好.不能大致就这求样子.某啥,多看看书.多了解结构,原理.其实轻而易举你都能想到,如果是物理连续,刚才的分页造成后面的上千页所有的数据都向后移动..这样你多么强壮的IO都搞不定的类!哎,突然发现我语言组织能力比以前好一点了,不过还是的努力搞,知道自己那地方不足就补哪,不懂不丢人,我们搞懂不就可以了吗?
昵称被占用了 2013-01-09
  • 打赏
  • 举报
回复
每个字段值在数据页面中的保存位置本来就不是随机 记录放在哪个页对于堆表来说理论上是随机的(实际上与插入、更新、删除操作的次序有关) 页的分配理论上也是随机的(也就是一个表或者索引的页一般不连续) 概念先要搞清楚,建议自己先看书。
找猫画虎 2013-01-08
  • 打赏
  • 举报
回复
先百度,或维基下嘛,http://dev.mysql.com/doc/refman/5.1/zh/storage-engines.html
發糞塗牆 2013-01-08
  • 打赏
  • 举报
回复
最开始的时候就是顺序放,但是当一定程度,8个混合页合成一个整体页供一个大对象使用。加上有时候的收缩、重建聚集索引,可能会引起数据的移位

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧