数据库系统2-7:查询优化的一般准则

文章作者 100test 发表时间 2007:03:10 16:59:55
来源 100Test.Com百考试题网


计算机等级考试训练软件《百宝箱》

  为了提高查询效率,下面给出改进查询的有关方法:
  1. 选择运算尽可能先做
  选择运算是查询中出现最频繁的一种运算,先做选择运算可大大减少运算中间结果、减少运算量和从外存储器读块的次数,从而可使时间节约几个数量级。
  2.在执行连接之前先对文件适当地预处理。预处理的方法有:
  a)对文件先做排序
  b)在准备连接的属性上建立索引
  在连接运算之前,对文件进行预处理,系统能快速有效地找到要连接的元组,从而达到节约运算时间的目的。虽然建立分类和倒排索引文件需要花费时间,但查询是一个很普遍的运算,总体上讲是合算的。
  3. 同时计算一串投影运算或一串选择运算,避免分开造成重复扫描文件,以便节约运算时间。
  4. 把投影同其前或后的双目运算(∪、-、X、>< )结合起来同时运行,同样可避免重复扫描文件。
  5. 把某些选择同它前面要执行的乘积结合起来成为一个连接运算,使选择与乘积一起完成,成为一个有选择的连接。另一方面避免了再次扫描乘积后容量庞大的中间关系,从而大大节省运算时间。
  6. 找出公共子表达式,并存贮公共的子表达式。
若一个反复出现的公共表达式的结果不是一个很大的关系,且从外存读入它的时间小于计算它的时间时,可将其结果存入外存,以后若遇到该表达式时不必计算而直接将其调出,从而达到节约操作时间的目的。这种方法对公共子表达式出现频繁的查询效果更好。



相关文章


数据库系统2-7:优化的一般步骤
数据库系统2-7:关系代数表达式的优化算法
数据库系统2-7:查询优化的一般准则
数据库系统2-6:关系运算的等价性
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛