《习题9.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《习题9

习题9 查询优化的一般步骤 把查询转换成某种内部表示,通常用的内部表示是语法树。 把语法树转换成标准(优化)形式。即利用优化算法,把原始的语法树转换成优化的形式。 选择低层的存取路径。 生成查询计划,选择代价最小的。 查询优化在关系数据库系统中的重要性 重要性: (1)关系系统的查询优化即是RDBMS实现的关键技术又是关系系统的优点所在。它减轻了用户选择存取路径的负担。用户只要提出“干什么”,不必指出“怎么干”。 (2)查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化”做得更好 查询优化在关系数据库系统中的可能性 可能性: (1) 优化器可以从数据字典中获取许多统计信息,而用户程序则难以获得这些信息 (2)如果数据库的物理统计信息改变了,系统可以自动对查询重新优化以选择相适应的执行计划。在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。 查询优化在关系数据库系统中的可能性 (3)优化器可以考虑数百种不同的执行计划,程序员一般只能考虑有限的几种可能性。 (4)优化器中包括了很多复杂的优化技术,这些优化技术往往只有最好的程序员才能掌握。系统的自动优化相当于使得所有人都拥有这些优化技术 查询优化的一般准则 下面的优化策略一般能提高查询效率: 选择运算应尽可能先做; 把投影运算和选择运算同时进行; 把投影同其前或其后的双目运算结合起来; 把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算; 找出公共子表达式; 选取合适的连接算法。索引连接,排序合并算法,HASH连接算法。 数据库系统工程师真题 查询树 对学生-课程数据库有如下查询: SELECT Cname FROM Student,Course,SC WHERE Student.Sno=SC.sno and SC.Cno=Course.Cno and Student.Sdept=‘IS’; 查询信息系学生选修了的所有课程的名称。试画出 用关系代数表示的语法树,并给出优化后的标准语 法树。 最初的语法树 结果 project(Cname) Select(Student.Sdept=‘IS’) Join(SC.Cno=Course.Cno) Join(Student.Sno=SC.Sno) Course Student SC 关系代数语法树 ∏Cname σStudent.Sdept=‘IS’ σSC.Cno=Course.Cno × σStudent.Sno=SC.Sno Course × Student SC 优化后的语法树 ∏Cname σSC.Cno=Course.Cno × σStudent.Sno=SC.Sno Course × SC σStudent.Sdept=‘IS’ Student 填空题 等式∏L(σF(E))=σF(∏L(E))成立的条件是___。 等式∏L1(∏ L2(E))=∏L1(E) 成立的条件是___。 等式σF(E1×E2) =E1×σF(E2)成立的条件是___。 等式σF(E1 E2) =σF(E1) σF(E2)成立的条件是___。 答案:条件F只涉及到L中的属性 L1 是 L2的子集 F只涉及到E2中的属性 F只涉及到E1和E2中的公共属性 查询树 在教学数据库的三个关系 S(S#,Sname,Age,Sex) SC(S#,C#,Grade) C(C#,Cname,Teacher)中,用户

文档评论(0)

wendan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档