文章作者 100test 发表时间 2007:03:10 16:59:49 来源 100Test.Com百考试题网
计算机等级考试训练软件《百宝箱》
各个关系系统的优化方法不尽相同,其步骤大致归纳如下: 1. 把查询转换成某种内部表示(通常是语法树) 2. 把语法树转换成标准形式。 3. 选择低层的存取路径。 4. 生成查询计划。 例如 查询学生“王平”所选修的课程编码、课程名称及成绩。 (1) 把查询转换成某种内部表示(通常是语法树)。 该查询的语法树如下: 为了能使用关系代数表达式的优化算法,不妨假设内部表示是关系代数语法树,则上述语法树可变成: 关系代数表达式为: (2)把语法树转换成标准形式 各个系统的优化算法不同,这里利用前面所讲的关系代数表达式的优化算法进行优化,旨在介绍一般的优化策略,并非讨论最优算法。 ①利用规则4、6把选择尽可能推向叶端,经过这一优化后,语法树为 经过变换后关系代数表达式为: ②该树的最上方的投影和选择只用到四个属性,可把靠近的乘积运算投影到这四个属性上,即增加运算: 再将投影运算分成两个投影运算: 并将其推向叶端,从而得语法树如下:
③按照分组原则,对语法树进行分组。
④将选择与笛卡儿积结合为连接,由于这些选择都是同属性名的等价连接,所以可结合为自然连接。
关系代数表达式为 (3)选择低层的存取路径 从优化后的语法树计算关系表达式值的时候要充分考虑索引,数据存储分布等存取路径,进一步改善查询效率。这一步要求优化器去查找数据字典,找出当前数据库状态。查找内容有: ① 选择字段是否索引。 ② 连接的两个表是否有序。 ③ 连接字段是否索引。 然后根据一定的优化规则选择存取路径。 (4)生成查询计划 查询计划是由一组内部过程组成,通过这组内部过程实现按某条存取路径计算关系表达式的值。 查询计划通常有多个计划可供选择,应选择代价最小的一个。
相关文章 数据库系统2-7:关系代数的等价变换规则数据库系统2-7:优化的一般步骤数据库系统2-7:关系代数表达式的优化算法数据库系统2-7:查询优化的一般准则 澳大利亚华人论坛 考好网 日本华人论坛 华人移民留学论坛 英国华人论坛