关系操作符赋值.pptVIP

  • 7
  • 0
  • 约1.22万字
  • 约 69页
  • 2018-10-21 发布于浙江
  • 举报
6.8 聚合操作符的赋值实现 例6.16 SELECT AVG(S.age) FROM Sailors S SQL-92支持的其它聚合操作还包括MIN、MAX、SUM和COUNT。 实现聚合操作赋值的基本算法包括: 扫描整个关系; 保留已扫描元组的一些聚合运算信息。 聚合操作通常与GROUP BY 子句联合使用。如果我们增加GROUP BY rating 子句到例6.16,就可计算每个职级组水手的平均工资。 没有GROUP BY 的SQL语句可视为只有一个分组的特殊情况,这时被查询选择的所有元组同属于一个匿名分组。 分组查询赋值实现 类似于消除重复运算,分组计算也必须采用全关系算法实现。有两种不依赖于索引的很好赋值算法: 排序方法 先按分组属性排序关系; 扫描已排序关系,为每个分组计算聚合运算值。这一步类似于我们实现未分组时的聚合操作,只是在扫描时必须额外注意分组边界。 散列方法 将基于分组属性建立一个主存散列表,散列项中含有分组值,聚合运算值; 当扫描关系时,对每个元组:我们探求散列表发现该元组所属的相应散列项,并更新聚合运算信息。 当散列表完成后,各散列项可被用来计算相应分组的回答元组。 6.9 各类代数操作符赋值实现小结 6.9.1 缓冲区的影响分析 6.9.2 各类代数操作符赋值实现小结 6.9 各类代数操作符赋值实现小结 6.9.1 缓冲区的影响

文档评论(0)

1亿VIP精品文档

相关文档