数据库原理及应用-孙浩军 第7章查询优化新.pptVIP

  • 0
  • 0
  • 约1.07万字
  • 约 65页
  • 2015-12-24 发布于广东
  • 举报

数据库原理及应用-孙浩军 第7章查询优化新.ppt

An Introduction to Database System 第七章 查询优化 7.1 查询优化概述 7.2 查询优化的一般策略 7.3 基于关系代数表达式的优化算法 7.4 分解查询的优化方法 7.5 连接运算的优化 7.6 代价估算优化 7.1 查询优化概述 查询优化的必要性 查询优化极大地影响RDBMS的性能。 ? 查询优化的可能性 关系数据语言的级别很高,使DBMS可以从关系表达式中分析查询语义。 查性优化必要性 例:找出学生张明所选修的课程和成绩 T1=πCNO,GR (бS.SNO=SC.SNO?S.SN=‘张明’(S?SC)) T2=πCNO,GR (бSN=‘张明’(S?SC)) T3=πCNO,GR ((бSN=‘张明’(S)?SC) 查询优化的必要性 假设1:外存: S:n1条,SC:n2条 假设2:一个内存块装元组:B1个Student, 或B2个SC, 内存共有K块,存放: K-1块S元组, 1块SC元组 假设3:连接方法:基于数据块的嵌套循环法 查询优化的必要性 查询优化的必要性 对于表达式T3,由于先做选择运算,则所存取的块数是: 假设各项参数同上,则共存取2000块,这时则大约需要3分钟 查询优化 查询优化的思想 要完成同样的查询任务可能有若干条查询路径,从这些查询路径中选择最佳路径 查询优化 代数优化 物理优化 规则优化 代价估算优化 由DBMS进行查询优化的好处 系统可以比用户程序的优化做得更好 优化器从数据字典中获取更多的信息如属性值的分布情况,优化器根据这些信息选择有效的执行计划 如果物理统计信息丢失,系统可以自动优化查询以选择相适应的执行计划 优化器可以考虑数百种不同的执行计划 优化器包含了许多复杂的优化技术,这些技术只有最好的程序员才能掌握 7.2 查询优化的一般策略 限制运算尽早进行 合并笛卡儿乘积与其后的限制运算为连接运算 把投影运算和限制运算同时进行 投影运算与其后的其他运算同时进行,以避免重复多次扫描文件 事先处理文件 存储公用的子表达式 7.3基于关系代数表达式的优化算法 7.3.1 关系代数表达式的等价变换规则 关系代数表达式等价 指用相同的关系代替两个表达式中相应的关系所得到的结果是相同的 上面的优化策略大部分都涉及到代数表达式的变换 常用的等价变换规则 设E1、E2等是关系代数表达式,F是条件表达式 l. 连接、笛卡尔积交换律 E1× E2≡ E2×E1 E1 E2≡E2 E1 E1 F E2≡E2 F E1 关系代数等价变换规则 ?2. 连接、笛卡尔积的结合律 (E1×E2) × E3 ≡ E1 × (E2×E3) (E1 E2) E3 ≡ E1 (E2 E3) (E1 E2) E3 ≡ E1 (E2 E3) F F F F 关系代数等价变换规则 3. 投影的串接定律 π A1,A2, ?,An(π B1,B2, ?,Bm(E))≡ π A1,A2, ?,An (E) 假设: 1) E是关系代数表达式 2) Ai(i=1,2,…,n), Bj(j=l,2,…,m)是属性名 3){A1, A2, …, An}构成{Bl,B2,…,Bm}的子集 关系代数等价变换规则 4. 选择的串接定律 бF1 ( б F2(E))≡ бF1∧ F2(E) 5. 选择与投影的交换律 бF (πA1,A2, ?,An(E))≡ πA1,A2, ?,An(бF(E)) 关系代数等价变换规则 6. 选择与笛卡尔积的交换律 (1) 假设:F中涉及的属性都是E1中的属性 бF (E1×E2)≡бF (E1)×E2? (2) 假设:F=F1∧F2,并且F1只涉及E1中的属性, F2只涉及E2中的属性 则由上面的等价变换规则1,4,6可推出: бF(E1×E2) ≡б F1(E1)×бF2 (E2)? 关系代数等价变换规则 7. 选择与并的交换 假设:E=E1∪E2,E1,E2有相同的属性名 бF(E1∪E2)≡ бF(E1)∪

文档评论(0)

1亿VIP精品文档

相关文档