酷文首页  
站内搜索:
网站地图 | RSS订阅 | 收藏本站
经济论文
证券金融
工商管理
会计审计
法学论文
医药论文
社会论文
教育论文
计算机论文
艺术论文
哲学论文
财政税收
财务管理
公共管理
理学论文
政治论文
文学论文
工学论文
文化论文
实用文档
应用文
自考成考
演讲稿
法律文书
子栏目导行↓
网站赞助商↓
本类热点↓
本类更新↓
热门标签↓
网摘收藏↓

关系代数查询优化算法的研究与实现

作者:杨乐
来源:酷文网
点击:
载入中...
加入时间:2008-08-02
字体大小:[  ]

下面给出遵循这些启发式规则,应用上面提到的关系代数等价变换公式来优化关系表达式的算法。
算法:关系表达式的优化。
输入:一个关系表达式的查询树。
输出:优化的查询树。
方法:
a. 利用等价变换规则4把形如 变换为 。
b. 对每一个选择,利用等价变换规则4~9尽可能把它移到树的叶端。
c. 对每一个投影利用等价变换规则3,5,10,11中的一般形式尽可能把它移向树的叶端。
d. 利用等价变换规则3~5把选择和投影的串接合并成单个选择、单个投影或一个选择后跟一个投影。使多个选择和投影能同时进行,或在一次扫描中全部完成,尽管这种变换似乎违背“投影尽可能早做”的原则,但这样做效率更高。
e. 把上述得到的语法树的内节点分组。每一双目运算( )和它的直接祖先为一组(这些直接祖先是( 运算))。如果其后代知道叶子是单目运算,则也将它们并入改组,但当双目运算是笛卡尔积( ),而且后面不是与它组成等值连接的选择时,则不能把选择与这个双目运算组成一组。把这些单目运算单独分成一组。
4.3.2 一个实例
继续以4.2.2实例的关系为例
其中,Sno:学生学号;
      Sname:学生姓名;
      Sage:学生年龄;
      Cno:课程号;
      Cname:课程名称;
查找所有年龄在20岁以上,并选修了“数学”的学生姓名。SQL语句表示如下:
Q:SELECT Sname
   FROM   Student,Course,SC
   WHERE  Cname=‘Maths’ AND Student.Sno = SC.Sno AND
Course.Cno = SC.Cno AND Sage >’20’;
(1)SQL查询Q的初始查询树,如图5所示:


(2)把SELECT操作运算沿查询树下移,如图6所示:

 
(3)首先应用更具限制性的SELECT操作,如图7所示:


 
(4)用Join操作代替笛卡尔积和SELECT操作,如图8所示:


 
(5)把投影操作下移,如图9所示:

 

5 总结
查询处理是数据库管理的核心[19],而查询优化又是查询处理的关键技术。任何类型的数据库都会面临查询优化问题,对于关系数据库来说,由于其依据理论的特点查询优化问题的研究和解决,反而成为其蓬勃发展的重要机遇。查询优化一般分为:代数优化,物理优化和代价估算优。代数优化是指对关系代数表达式的优化;物理优化是指存储路径和底层操作算法的优化,代价估算优化是对多个查询策略的优化选择。在此,主要讨论代数优化,其特点是在启发式规则的指导下,用关系代数等价变换对表达式进行优化组合,以提高查询效率。关系代数的优化规则主要有“尽早执行选择”、“尽早执行投影”和“避免单独执行笛卡尔积”等。
现代的数据库系统内部存在查询优化器,里面已经固化了由世界顶尖程序员开发出来的众多查询优化算法。因此,对于我们任何查询要求,数据库已经依据数据字典和经验为我们制定了了最优(应该说是较优)的查询执行策略,并且在内部将SQL语句转换为了关系代数,同时以查询树为数据结构,依据查询优化启发式规则,按照关系代数等价变换的公式进行优化的。所以,我们看到的最后结果已经是较优的了。
由于大部分优化算法只掌握在少数人手里,并且受到版权保护,我在本论文中只就应用较为广泛的基于启发式规则的查询优化算法加以研究和讨论。同时,限于现代数据库系统高度的集成性,无法对内部处理机制加以干预,本人无法对算法进行实现,进而加以演示,所以,只能在人为设定的环境中,在给予同等资源的条件下对优化结果进行一个估算,这是本毕业论文的一个缺陷。


最后,文中提到的分布式数据库系统,是近几年兴起,但在实际生活中已经被广泛利用的一项技术,例如世界知名的GOOGLE公司的搜索引擎,所用到的就是一种称之为“云计算”的技术,即分布式计算,就是分布式数据库的优化查询的最好体现。此项技术已经得到微软、IBM等知名公司的大力支持和推广。可以说,技术的发展前景是相当大的。

参考文献
[1] 邵佩英.分布式数据库系统及其应用[M].北京:科学出版社,2003:105-108.
[2] 萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2002:98-103.
[3] 王能斌.数据库系统原理[M].北京:电子工业出版社,2000:36-40.
[4] 冯勇,白杨,徐红艳.分布式查询优化算法与应用实践[J].辽宁大学学报,2003:105-112.
[5] 郑勇明,彭凤梅,陈越.分布式数据库查询优化处理---基于关系代数等价变换的查询优化处理.电脑知识技术[J],2007:87-93.
[6] 王艳,陶俊才,周兴斌.分布式数据库查询优化处理的研究与应用[J].南昌大学学报,2005:19-110.
[7] 钟武,胡守仁.一种分布式数据库查询优化方法[J].计算机学报,1998:15-17.
[8] 王朝瑞.图论[M].北京:国防工业出版社出版,1985(5):79-82.
[9] A.P.Sheth and J.A.Larson. Federated database systems formanaging distributed, heterogeneous, and autonomous Databases[J]. ACM Computing Surveys, September, 1990:54-56.
[10] Kifer Michael, Kim Won, and Sagiv Yehoshua. Querying object-oriented databases[C].In Proc. ACM SIGMOD, 1992:32-36.
[11] John Grant, Witold Litwin, Nick Roussopoulos, and Timos Sell-is. Query languages for relational multidatabases[J]. VLDBJournal, 1993, 2(2):14-15.


[12] Meng W. and Yu C. Query processing in multidatabase systems.In Kim,W., editor[M]. Modern Database Systems. ACM Press, 1995:33-35.
[13] 王以和,涂小平.分布式数据系统[M].北京:电子工业出版社,2003:56-58.
[14] 周龙骤.分布式数据库系统实现技术[M].北京:科学出版社,2005:78-80.
[15] 李建中,王珊著.数据库系统原理[M].北京:电子工业出版社,1998:32-33,191-198.
[16] J.Grant著.顾学春译.数据库逻辑导论[M].西安:西安交通大学出版社,1988:190-198.
[17] C.J.Date著,孟小峰,王珊,等译.数据库系统导论[M].北京:机械工业出版社,2000:394-431.
[18] Matt Christian.数据库查询优化和遗传算法研究[J].程序员.2003(2):11-13.
[19]许丽明.ESR包住SQL的优化器[OL].http://media.ccidnet.com/media/ciw/1105/d0901.htm.转贴于 酷文网-论文下载中心 http://www.coolwen.net


共7页: 上一页 [1] [2] [3] [4] [5] 6 [7] 下一页

网摘收藏:
免责声明 | 关于我们 | 广告联系 | 友情链接 | 网站地图 | 共同合作
免费论文 毕业论文 毕业论文范文 酷文网(www.coolwen.net) 版权所有 coolwen.net 2007,All Rights Reserved
E-mail:hui_love#tom.com(为防止垃圾邮件请把#换成@) 点击这里给我发消息 点击这里给我发消息
湘ICP备07003917号