- 1、本文档共111页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* DB文件的存取组织方法 一.索引存取方法 索引文件 l?是DBS常采用的数据文件结构,按关键字存取文 件,效率较高。 l? 索引表,有序的逻辑文件。 l?只反映与索引项有关的数据的存放位置而不是数 据本身 l 不能离开被索引的数据文件(主文件)而独立存在 * DB文件的存取组织方法 建立索引的方式多种多样: ①主索引(Primary Index):以记录的主关键 字建索引。 ②次索引(Secondary Index):用非主关键字 建索引。 ③倒排文件(Inverted File):在所有属性上都 建索引。 * DB文件的存取组织方法 ④ 稠密文件(Dense Index):索引文件中对每一个 索引项值都有一个索引记录。 ⑤ 稀疏索引(Sparse Index):索引文件中对一组 索引项值才有一个索引记录。 ⑥ 聚集索引(Clustering Index):将索引项值相同 的记录在物理上集中存储在同一块或相邻块。 ⑦ 多级索引(Multilevel Index):在索引文件的基 础上再建索引。 * DB文件的存取组织方法 (常用的较好的折中的)∵处理DB主要开销:把块从磁盘上取到主存中所需时间,扫描整个块的时间可忽略。 更快的定位一个记录 权衡 注:稠密索引 索引文件较大 插入/删除,维护开销小 空间开销 ——决定于具体应用 稀疏索引 占用空间小 访问时间 * DB文件的存取组织方法 注:索引本身有时也会变得非常大,而难于有效处理。 例:一个文件由100000(10万)个记录,一块存 10个记录,有一个索引记录。 ∴索引有10000个记录,索引记录比数据记录小, 设一个块能容纳100个索引记录→索引占100个块 读取出块数高达log2(100)7=7次,读块7次 * DB文件的存取组织方法 主索引上构造一个稀疏索引: 搜索一个记录,在外层索引上用二分法找到不大于所需索码值的最大搜索码值对应的记录,指针指向一个内层索引块,对这一块作扫描,直到找到不大于所需搜索码值的最大搜索码值对应的记录。 这样,如果外层索引一在主存中,那么使用两级索引时,只需读一次索引块。 * DB文件的存取组织方法 二、聚簇 所谓聚簇就是把有关的元组集中在一个物理块内或物理上相邻的区域内,以提高某些数据访问的速度。 很多RDBS将各个关系存储在一个个独立的文件中(很多DBMS在文件管理方面不直接依赖于下层OS,而让OS分配给DBS一个大的操作系统文件,所有关系都在这个文件中,其管理用DBS进行)——利用OS的文件管理。 这种实现关系数据库的简单方法在DB规模大时不合适。 * DB文件的存取组织方法 例:(理解一个文件中存储多个关系的好处) Select account_ number, customer_ name, street, city From depositor, customer Where ....... 必须找到具有相同customer_ name的customer元 组(可用索引) 对depositor中的每个元组 但要从磁盘传到主存中 最快情况:每个记录在一个块,每个记录执行一次 块操作。 * DB文件的存取组织方法 聚簇文件结构: 将两个关系的元组混合在一起,读customer一个元组时,包含该元组的整个块从磁盘到主存。∵相应depositor元组存储在靠近customer元组的磁盘上∴该块也包含了处理查询所需的关系depositor的元组,顾客账户太多,则存在临近块中。 返回 * 步骤1:关系模式存取方法选择 存取方法是快速存取数据库中数据的技术,物理设计的任务之一就是要确定选择哪些存取方法。 常用的存取方法有:索引方法和聚簇(Cluster)方法。 * 索引存取方法 索引存取方法就是根据应用要求确定对关系的哪些属性列建立索引、哪些属性列建立组合索引、哪些索引要设计为唯一索引等。 * 选择索引的启发式规则 凡是满足下列条件之一的属性或表,不宜建立索引: (1) 不出现或很少出现在查询条件中的属性。 (2) 属性值很少的属性。 (3)
文档评论(0)