数据库系统2-7:优化的一般步骤

文章作者 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:查询优化的一般准则
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛