- 23
- 0
- 约 75页
- 2017-03-07 发布于湖北
- 举报
三、优化的一般策略 1--6 1 在关系代数表达式中尽可能早地执行选择操作。 2 把笛卡儿积和其后的选择操作合并成F联接运算。 3 同时计算一连串的选择和投影操作,以免分开运算造成多次 扫描文件,节省操作时间。 4 如在一个表达式中多次出现某个子表达式,可先对该子 表达式进行计算并保存结果,以免重复计算。 5 适当地对关系文件进行预处理。 6 在计算表达式前应先估计一下怎么计算合算。 三、关系代数表达式的优化算法 输入:一棵关系代数表达式的语法树。 输出:计算表达式的一个优化序列。 方法: 依次执行下面每一步。 ① 使用等价变换规则⑷把每个形为σF1∧… ∧Fn(E)的子表达式转 换成选择串接形式: σF1(…σFn(E))…) ② 对每个选择操作,使用规则⑷~⑼,尽可能把选择操作移近树 的叶端(即尽可能早地执行选择操作)。 ③ 对每个投影操作,使用规则 3 , 5 , 10 和 11 ,尽可能把 投影操作移近树的叶端。 ④ 使用规则⑶~⑸,把选择和投影合并成单个选择、单个投影或一个选择后跟一个投影。 ⑤ 对上述步骤得到的语法树的内结点进行分组。分组原则: a、每个二元运算 ×、∪、- 结点与其直接祖先 不超过其他的 二元运算结点)的一元运算结点 σ或π 分为一组。如果它的 子孙结点一直到叶都是一元运算符 σ或π ,则也并入该组。 b
原创力文档

文档评论(0)