- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章 索引技术 任课教员:张 铭 /mzhang/DS/ mzhang@ 北京大学信息科学与技术学院 网络与信息系统研究所 ?版权所有,转载或翻印必究 主要内容 10.1 线性索引 10.2 静态索引 10.3 倒排索引 10.4 动态索引 10.5 动态、静态索引性能比较 基本概念 输入顺序文件 主码与辅码 索引与索引文件 稠密索引与稀疏索引 输入顺序文件 输入顺序文件( entry-sequenced file )按照记录进入系统的顺序存储记录 输入顺序文件的结构相当于一个磁盘中未排序的线性表 因此不支持高效率的检索 主码 主码( primary key )是数据库中的每条记录的唯一标识 例如,公司职员信息的记录的主码可以是职员的身份证号码 如果只有主码,不便于各种灵活检索 辅码 辅码( secondary key )是数据库中可以出现重复值的码 辅码索引把一个辅码值与具有这个辅码值的每一条记录的主码值关联起来 大多数检索都是利用辅码索引来完成的 索引 索引( indexing )是把一个关键码与它对应的数据记录的位置相关联的过程 索引技术是组织大型数据库的一种重要技术 数据库组织存储在外存中的大量记录 高效率的检索 插入、更新、删除 索引文件 索引文件( index file )是用于记录这种联系(关键码与它对应的数据记录的位置)的文件组织结构。 索引文件的记录 (关键码,指针)对 将每个关键码和一个指针关联 指针指向主要数据库文件(也称为“主文件”)中的完整记录 索引文件 索引文件并不需要重新排列记录在磁盘中的顺序(不用重排主文件) 一个数据库可能有多个相关的索引文件 每个索引文件往往支持一个关键码字段 可以通过该索引文件高效访问记录中该关键码值 稠密索引 对每一个记录建立一个索引项,这样建立的索引被称为稠密索引( dense index ) 数据库文件中的记录不按照关键码的顺序排列时(比如按照加入的顺序排列) 稀疏索引 对一组记录建立一个索引项,这种索引称之为稀疏索引( spare index ) 当记录在磁盘中是按照关键码的顺序存放 可以把记录分成多个组(块) 稀疏索引索引项的指针指向的是这一组记录在磁盘中的起始位置 10.1 线性索引 基本概念 线性索引的优点 线性索引的问题 二级线性索引 基本概念 线性索引(linear index)的索引文件 一组简单的关键码(key)/指针(pointer)对的序列 基本概念(续) 线性索引文件按照关键码的顺序进行排序 文件中的指针指向存储在磁盘上的文件记录起始位置或者主索引中主码的起始位置 基本概念(续) 线性索引的索引文件 存储在内存中,把索引存储在内存中能大大地提高检索速度 存储在磁盘中 根据线性索引的文件大小和内存的空间限制 线性索引的优点 对变长的数据库记录的访问 可以对数据进行高效检索 二分检索 顺序处理 比较操作 批处理的操作 节省空间 (相对其它索引结构) 线性索引的问题 线性索引太大,存储在磁盘中 在一次检索过程中有可能多次访问磁盘,从而影响检索的效率 解决办法:使用二级线性索引 更新线性索引 在数据库中插入或者删除记录时 二级线性索引 每一条二级线性索引记录对应于一个一级线性索引文件的磁盘块 关键码的值与对应的线性索引文件的磁盘块中第一条记录(从物理位置上看的第一条)的关键码的值相同 记录中的指针则指向相应线性索引文件的磁盘块的起始位置 二级线性索引 例如,磁盘块的大小是1024字节,每个关键码/指针记录需要8个字节,则每磁盘块可以存储128条这样的记录 假设线性文件索引中包含10000条记录,那么该线性索引占用79个磁盘块,相应的,二级线性索引文件中有79项记录 二级线性索引的例子 关键码与相应磁盘块中第一条记录的关键码的值相同 指针指向相应磁盘块的起始位置 二级线性索引检索 在检索时,线性索引文件并不被读入内存,被读入内存的是二级线性索引文件 由于二级索引往往存储内存,通常只需要访问两次磁盘即可:一次读入线性索引文件,一次读入数据库记录 二级线性索引检索的例子 例如,检索关键码为2555的记录 首先在内存中的二级线性索引文件中找到关键码的值小于等于2555的最大关键码所在的记录——关键码为2003的记录 根据记录中的指针找到其对应的线性索引文件的磁盘块,并把该块读入内存 按照二分法对该块进行检索,找到所需要的记录在磁盘上的位置 最后把所需记录读入,完成检索操作 10.2 静态索引 10.2.1 多分树 10.2.2 ISAM 基本概念 静态索引 索引结构在文件创建、初始装入记录时生成 一旦生成就固定下来,在系统运行(例如插入和删除记录)过程中索引结构并不改变 只有当文件再组织时才允许改变索引结构 10.2.
您可能关注的文档
最近下载
- 2025通辽科尔沁区招聘146名社区工作者考试备考试题及答案解析.docx VIP
- 2025福建莆田市城市建设投资开发集团有限公司招聘企业员工30人备考练习题库及答案解析.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(9).案例研究与实践.docx VIP
- 《乔姆斯基著《语言行为评述》A_Review_of_B._F._Skinner’s_Verbal_Behavior》.pdf
- 农牧民培训国家通用语言.pptx VIP
- 电力市场分析软件:PLEXOS二次开发_(15).电力系统规划与扩展.docx VIP
- 光大金瓯资产管理有限公司招聘笔试题库2024.pdf
- SH 3507-2011-T 石油化工钢结构工程施工及验收规范.pdf VIP
- 中国共产党党内监督条例_学习解读ppt完整版.pptx VIP
- 东郊记忆品牌手册-营销专家.pdf VIP
文档评论(0)