网站大量收购独家精品文档,联系QQ:2885784924

PostgreSQL存储系统幻灯片.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PostgreSQL存储系统幻灯片

PostgreSQL存储系统;Outline;文件布局;文件布局;分页文件 总体页面布局;分页文件 PageHeaderData 布局 ;分页文件 HeapTupleHeaderData 布局 ;分页文件 TOAST;PG索引类型;R-TREES. A DYNAMIC INDEX STRUCTURE FOR SPATIAL SEARCHING;R-tree;R-Tree structure;R-Tree structure;Algorithm of R-tree;#将记录E的矩形部分记为EI,将tuple-identifier或child-pointer记为E p Algorithm Search 考虑一棵根为T的树,查找出能够覆盖要查询矩形S的矩形所对应的索引记录。 S1 【在子树中查询】如果T不是叶子,查询每条记录来判断E I是否覆盖S,对于所有覆盖记录,调用查询算法来查询由E p指向的节点中的记录。 S2 【在叶结点中查询】如果T是个叶子,检查所有记录看EI是否覆盖了S。如果是,则E就是要查的结果 ;Algorithm Insert 将一个新的索引记录E插入到R树中 I1 【为新记录找到位置】调用ChooseLeaf找到一个叶结点L,而E就放在这个叶结点中 I2 【将记录插入叶结点中】如果叶结点还有空位,则插入。否则,调用SplitNode得到两个叶结点L和LL,LL存储着E以及L的旧记录 I3 【增殖向上传递】对L进行AdjustTree,如果有LL这也同时需要进行调整 I4 【增加深度】如过叶结点的分裂增殖导致根结点也需要分裂,则创建一个新根,而其两个孩子则是已经存在的分裂出的两个结点。;Algorithm ChooseLeaf 找出一个叶结点用于插入索引记录E CL1 【初始化】将N设置为根结点 CL2 【叶子检查】如果N是叶子,则返回 CL3 【选择子树】如果N不是叶子,设定一个F是N的一个目录,它 的矩形F I 是将E I包含的最小包围矩形。而正是通过选取矩形 的最小区域来解决这个关系 CL4 【从根下降直到到达叶子】将N设置为F p指向的孩子结点, 然后回到步 CL2;Algorithm AdjustTree 在从叶结点L上升到根节点的过程中,不断调整覆盖矩形,如果需要的话分裂节点进行增值。 AT1 【初始化】让节点N是L,如果L已经是分裂出来的,则假定NN是另一个分裂出来的节点 AT2 【检查是否完成】如果节点N是根,则结束 AT3 【在父亲记录中调整覆盖矩形】让P作为N的父节点,将N中的各个记录En放置到P中,不断调整En I使得N中的矩形能够被很好的包含 AT4??节点增殖】如果因为分裂的原因,N有一个兄弟节点NN,创建一个新的记录ENN(用ENN P指向NN)并最小包围NN的矩形。如果P有空位的话则将ENN插入进去,如P节点满的话,则将ENN和所有P的旧记录进行节点分裂 AT5【向下一层移动】将P赋值给N,如果有兄弟节点NN的话则将PP赋值给NN,回到AT2 ,重复。;Algorithm Quadratic Split QS1 [Pick first entry for each group] Apply PickSeeds to choose two entries to be the first elements of the groups. Assign each to a group. QS2 [Check if done] If all entries have been assigned, stop. If one group has so few entries that all the rest must be assigned to it in order for it to have the minimum number m, assign them and stop. QS3 [Select entry to assign] Invoke PickNext to choose the next entry to assign. Add it to the group whose covering rectangle will have to be enlarged least to accommodate it. Resolve ties by adding the entry to the group with smaller area, then to the one with fewer entries, then to either. Repeat from QS2;A

文档评论(0)

liwenhua11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档