计算机科学系整理.pptVIP

  • 3
  • 0
  • 约1.06万字
  • 约 44页
  • 2019-10-19 发布于广东
  • 举报
概述 归并排序算法 简单的基于排序的连接算法 归并排序连接算法 9.4.3 基于排序的联接算法 基于排序的连接算法,首先将两个关系按照连接属性进行排序,然后按照连接属性的顺序扫描两个关系,同时,对两个关系中的元组执行连接操作。 由于数据库中关系的大小往往大于连接操作可用内存缓冲区的大小,因此,对关系的排序通常采用外存排序算法,即归并排序算法。 可以将基于排序的连接算法的执行过程与归并排序算法结合的算法,可以节省更多的磁盘IO,通常称为归并排序连接算法。 概述 简单的归并排序算法的执行可以分为两个阶段: 第一阶段:对关系进行分段排序,即首先将需要排序的关系R划分为大小为M个块的子表,其中,M是可用于排序的内存空间的个数,以块为单位,再将每个子表放入内存中采用快速排序等主存排序算法执行排序操作,这样可以获得一组内部已排序的子表。 第二阶段:对关系的子表执行归并操作,即按照顺序从每个排序的子表中读取一个块的内容放入内存,在内存中统一对这些块中的记录执行归并操作,每次选择最大(最小)的记录放入输出缓冲区中,同时删除子表中相应的记录。当子表在内存中的块被取空时,从子表中顺序读取一个新的块放入到内存中继续执行归并操作。 归并排序算法 图4.15 简单的归并排序算法的执行 归并排序算法 归并排序的过程如图4.15所示,其中同时对多个子表执行归并操作,因此,也称为两阶段多路归并

文档评论(0)

1亿VIP精品文档

相关文档