数据存储和索引.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

*索引的定义在SQL-92中并没有关于索引的语句,在SQL中也没有涉及索引所有的商用DBMS均提供了与索引相关的语句CREATEINDEXIndAgeRatingonStudentWITHSTRUCTURE=BTREEKEY=(age,gpa)*树结构索引索引提供高效查询操作方法和动态维护方法ISAM是一种静态的索引结构,适用于数据库变化不大的情况B+TREE是一种动态的索引结构,适用于各种情况*索引序列访问方法(ISAM)例子:在排序的文件中做range查询“找gpa超过3.0的学生”对整个文件做两分法查找,找到起始的学生的位置从此位置起读取数据创建一个二级文件作为索引记录每一页的起始记录的属性值索引中元素的格式为(页中第一个键,指向页的指针)*索引序列访问方法(ISAM)二级文件的好处空间小每个页只取一个记录每个记录只取一个属性速度快k1k2…...knPage1…...Page2Page3PageN*索引序列访问方法(ISAM)ISAM的想法对每一层二级文件均建立相应二级文件结构ISAM的构造方法在最底层使用溢出链表索引中一结点的大小同一个物理页的大小相同关系中所有的数据均存放在叶子结点也可以在实际数据上层增加一个第二种类型的dataentry树的结构是静态的,只有叶结点中溢出结点会变化*ISAM索引结构示意图......非叶子结点叶子结点PrimarypageOverflowpage*ISAM的基本操作搜索(单个值查询和区间查询)从树的根结点开始每次找下层的相应结点,直到找到结果取出所有结果插入找到相应的位置插入数据,如果页满了,则增加溢出页删除找到相应的位置删除数据,如果溢出页空了,则删除溢出页*例子402033516310*15*20*27*33*37*40*46*51*55*63*97*原始状态*例子402033516310*15*20*27*33*37*40*46*51*55*63*97*插入操作后的情况23*48*41*42**例子402033516310*15*20*27*33*37*40*46*55*63*删除操作后的状态23*48*41**ISAM各项操作的计算复杂性搜索操作的复杂性为:logFN,F是每个结点中的dataentry的数量,N为关系中的记录数,二分法搜索的复杂性为log2N例子:1,000,000条记录,每页10条记录。每个结点100个dataentry,则顺序搜索为100,000,直接二分法为17,一层的索引(采用二分法)为10,ISAM为3*几点考虑插入删除问题插入删除操作只对叶子层的数据起作用当连续在同一结点插入时会造成溢出链过长,从而影响查询性能(是顺序查找)解决方法:创建索引时增加一些空闲空间ISAM的并行性非叶子结点不动将修改限制在最下层,索引并发控制比较简单相比其它索引结构速度快*B+树一种动态的索引结构静态方法的缺点在于当插入删除过多时造成溢出链过长,影响效率。也不利于序列连续存放M阶B+树的特点每个结点至多有m棵子树,至少有[m/2]棵子树根结点或为叶结点,或至少有两棵子树在insert,delete操作中树保持平衡搜索时只需要访问树的高度次所有叶结点在同一层次,dataentry层用双向链表连接,便于访问*B+树的结构...IndexentryDataentryIndexfile*B+树索引结点的结构B+树结点的格式同ISAM的结构相似每个结点由n个数值和n+1个指针构成pi指向的子树上的结点的值k,有ki=k=ki+1通常用第二种或第三种dataentryDataEntry本身可以看成为是记录的文件,如果dataentry包含整个记录,则文件就是数据本身,否则是一个单独的文件。*搜索Functree_search(nodepointer,searchkeyvalueK)returnsnodepointerIf*nodepointerisaleaf,returnnodepointer;else, ifKK1thenreturntree_search(P0

文档评论(0)

195****6728 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档