- 1、本文档共62页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章结束! 请同学们对本章内容进行复习、总结!!! 连接运算 ■ BNLJ算法的时间代价 最坏情况:外表r中的每一个块(而不是每一个元组),内表s需要完整扫描一次: 共需br*bs+br次磁盘块的传输,总的磁盘有哪些信誉好的足球投注网站次数为2*br 最好的情况:主存缓冲区中能容纳内层关系 共需要br+bs次块的传输,加上2次磁盘有哪些信誉好的足球投注网站定位 连接运算 ■ BNLJ算法的时间代价 关系Score作为外关系,关系Student作为内关系 最坏的情况:块传输数是4 000*400+4 000=1 604 000, 2*4 000=8 000磁盘有哪些信誉好的足球投注网站, 时间代价为192.40s=3.21min 关系Student作为外关系,关系Score作为内关系 最坏的情况:块传输数是400*4 000+400=1 600 400, 加上2*400=800次磁盘有哪些信誉好的足球投注网站, 时间代价为163.24s=2.72min 连接运算 索引循环嵌套连接(index nested-loop join, INLJ) 在嵌套循环连接中,如果内层循环的连接属性上有索引,则可以用索引有哪些信誉好的足球投注网站替代文件扫描。也就是说,对于外层关系r的每一个元组tr,利用索引来有哪些信誉好的足球投注网站内关系s中与元组tr满足连接条件的元组 。 ■ INLJ算法的代价 最坏的情况下:缓冲区只能容纳关系r的一个磁盘块和索引的一个磁盘块,时间代价为 br*(tT+tS)+nr*c 其中c是使用连接条件对关系s进行单个选择操作的代价。 连接运算 ■ INLJ算法的时间代价 关系Score作为外关系,关系Student在连接属性studentNo上建立了B+树的主索引,平均每个索引结点包含20个索引项。 每次对内表的有哪些信誉好的足球投注网站共需要4次I/O操作(树高为4,假设根结点常驻内存,则B+树访问需要3次I/O操作,再加上访问数据文件1次I/O操作),每次I/O操作需要一次磁盘有哪些信誉好的足球投注网站和传输一个磁盘块 INLJ算法共需要br+4*nr次I/O操作,每次I/O操作需要一次磁盘有哪些信誉好的足球投注网站和传输一个磁盘块 时间代价为:3296.4秒=54.94分=0.92小时 INLJ算法的总时间代价比块嵌套循环算法更差。 实际应用查询中,如果对外层关系Score先进行一个选择操作,使得行数有显著地减少,则索引嵌套循环连接算法可以比块嵌套循环连接算法快得多。 连接运算 归并连接 (merge join, MJ ) 归并连接算法可用于计算自然连接和等值连接,采用归并连接的前提是参与连接的两个关系必须关于连接属性有序 。 pr := r 的第一个元组的地址; ps := s 的第一个元组的地址; while ( ps ≠ null and pr ≠ null ) ts := ps 所指向的元组; // 产生与ts 具有相同连接属性值的元组集合 Ss Ss := {ts}; ps++; // 使ps指向关系s的下一记录 done := false; while ( not done and ps ≠ null ) ts := ps所指向的元组; if ( ts[JoinAttrs] = ts[JoinAttrs] ) Ss := Ss∪{ts}; ps++; else done := true; endif endwhile tr := pr所指向的元组; // 跳过关系 r 中不能与 ts 连接的元组 while ( ps ≠ null and tr[JoinAttrs] ts[JoinAttrs] ) pr++; tr := pr所指向的元组; endwhile while ( ps ≠ null and tr[JoinAttrs] = ts[JoinAttrs
文档评论(0)