Skip to content

关系定律(Relational Rule)

查询可以表示为一个树:

  • 内部节点是算子
  • 叶子是关系
  • 子树是子表达式

主要目标是把表达式树变换成等价的表达式树,使得在树中的子表达式生成的关系的平均大小比优化前更小。次要目标是在一个单一查询中,或在要同时求值多于一个查询的时候的所有这些查询中,尝试形成公共子表达式。在次要目标背后的原理是计算公共子表达式一次就够了,其结果可以用于包含这个子表达式的所有查询中。

Rule

  • 结合律与交换律:顺序无关、结果一致
  • 选择(Selection < σ >):幂等性、交换性,分解、下推
  • 投影(Projection < π > ):幂等性,消除、下推
  • 连接(Join < ⋈ >):积、下推
  • 重复:消除、下推
  • 分组、聚集:消除
  • 结合、分配

Evaluate

  • 中间关系
  • 选择运算
  • 投影运算
  • 连接运算:多连接、多关系
  • 交、并、差
  • 消除重复
  • 分组、聚集

Reference