查询计算机系和信息系,信息科学与技术学院计算机系

本文深入探讨了关系数据库系统的查询处理,包括查询处理步骤、算法实现示例,如选择和连接操作。同时,强调了查询优化的重要性,介绍了查询优化的基本概念,以及优化器如何选择高效执行计划。此外,还讨论了代数优化规则和启发式优化策略,旨在提高查询效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《信息科学与技术学院计算机系》由会员分享,可在线阅读,更多相关《信息科学与技术学院计算机系(66页珍藏版)》请在人人文库网上搜索。

1、信息科学与技术学院计算机系导论数据库系统第9章关系查询处理和查询优化导论数据库系统第9章关系系统和查询优化第9.1章关系数据库系统的查询处理第9.2章关系数据库系统的查询优化第9.3章代数优化第9.4章物理优化第9.3章摘要第9.1章生产数据库系统第9.1章关系数据库系统的查询处理第9.1.1步查询处理第9.1.2步实现查询操作的算法示例第9.1.1节介绍数据库系统查询分析词汇/语法/语义分析符号名称转换查询检查语义检查安全性检查完整性检查查询优化代数优化物理优化查询执行查询计划生成代码生成,介绍数据库系统,9.1关系数据库系统的查询处理,9.1.1查询处理步骤9.1.2算法实现查询操作示例,。

2、9.1.2算法实现查询操作示例,实现一个选择操作和实现两个连接操作,9.1.2算法实现查询操作示例,1。 选择操作1的实现。简单全表扫描方法2。索引(或哈希)扫描方法示例1选择*fromstudentwhere表达式大小写:C1:无条件;C2:Sno=200215121C3:Sage20C4:Sdept=CSANDSage20,AnintroductionDataBase System,9.1.2实现查询操作的算法示例,1。简单全表扫描方法,AnintroductionDataBase系统,9.1.2实现查询操作的算法示例,2。索引(或散列)扫描方法示例1-1上的索引示例1-C2SNO-b-树。

3、索引示例1-1上的C3Sage-1上的索引-C4Sdept和Sage,9.1.2查询操作的算法示例。两个连接操作的实现。方法2。排序合并连接方法3。索引连接方法4。HashJoin方法示例2:从student中选择*,scwhere student . SnO=sc . SnO;9.1.2查询操作的算法示例,1。嵌套循环方法,AnintroductionDataBase System,9.1.2查询操作的算法示例,2。排序和合并方法,SNO,SNO,CNO,AnintroductionDataBase System,9.1.2。查询操作的算法示例;3.索引连接方法,SNO,SNO,CNO,索引。

4、表,AnintroductionDataBase System,9.1.2。查询操作的算法示例;3.散列连接方法、1,200215123、3,200215122、5,200215121、3,200215122、2,200215121、1,200215123、3,200215123、2,200215121、SNO、SNO、CNO、第四章是关系系统及其查询优化查询优化的可能性关系数据语言的水平非常高,这使得数据库管理系统能够从关系表达式中分析查询语义。9.2.1查询优化概述,关系系统的查询优化不仅是关系数据库系统的关键技术,也是关系系统的优势所在;大大减轻了用户的负担。数据库系统,9.2.1查询优。

5、化概述,数据库管理系统查询优化的好处用户不必考虑如何最好地表达查询以获得更高的效率。该系统可以做得比优化用户程序更好。(1)优化器可以从数据字典中获得大量的统计信息,但是用户程序很难获得这些信息。在数据库系统中,通过数据库管理系统进行查询优化的优势,(2)如果数据库的物理统计信息发生变化,系统可以自动重新优化查询,选择合适的执行计划。在非关系系统中,重写程序是必要的,但是在实际应用中重写程序通常是不可能的。(3)优化器可以考虑数百种不同的执行计划,而程序员只能考虑有限的可能性。(4)优化器包括许多复杂的优化技术,如AnintProductionDataBase System,9.2.1查询优化。

6、概述,集中式数据库查询开销:I/O中央处理器内存分布式数据库查询开销:I/O中央处理器内存通信开销,查询优化的总体目标是选择一个有效的策略并获得给定关系表达式的值,从而使查询开销更小。生产数据库系统的示例,9.2.2,示例3:查找参加课程2的学生的姓名,选择学生。snameFromstudent,scwhererestudent。SnO=sc . SnO andsc . cno=2;假设1:外部存储:1000个学生:1000个超级用户,选修第二个假设的:50门课程2:一个内存块可容纳336010个学生或100个超级用户,内存可同时存储:5个学生元组、1个超级用户元组和多个连接结果元组。假设3:。

7、读/写速度:20块/秒。假设4:连接方法:基于数据块的嵌套循环方法,介绍数据库系统,9.2.2的一个例子(续)。有三种策略:1名(学生。SnO=sc。SnO sc . cno=2(student c)2 name(student c . cno=2(sc)2 name(student c . cno=2(sc),AnintroductionDataBase System,执行策略1,1 name(student . SnO=sc . SnO sc . cno=2(student c)学生读取的总块数c=学生表读取的块数*每次通过的块数=1000/10(1000/(105)(10000/100)。

8、=100写入中间结果的时间=1000000/10/20=50000秒。读取数据的时间=50000秒。总时间=10550000秒=100105秒=27.8小时。策略2.2名称(SC。Cno=2(StudeC)读取的总块数=2100块数据读取时间=2100/20=105秒中间结果大小=10000(减少1000倍)中间结果写入时间=10000/10/20=50秒数据读取时间=50秒总时间110。生产数据库系统的一个例子,9.2.2(续),策略3.3名(学生)。Cno=2(SC)读取总块数SC表=10000/100=100块数据读取时间=100/20=5秒。中间结果大小=50个不需要写入外部存储器的学。

9、生表总块数=1000/10=100个数据块读取时间=100/。介绍数据库系统,9.2.2的一个例子(续),策略4.2名(学生c。Cno=2(SC)假设SC表有一个关于Cno的索引,而学生表有一个关于斯诺的索引。读取SC表索引=读取SC表的总块数=50/1001块数据读取时间。中间结果大小=50项不需要写入外部存储器介绍数据库系统,例如9.2.2(续),读取学生表的索引=读取学生表的总块数=50/10=5个块,读取数据的总时间为10秒,介绍数据库系统,第9章关系系统及其查询优化,9.1关系数据库系统的查询处理9.2关系数据库系统的查询优化9.3代数优化9.4物理优化9.3摘要,生产数据库系统, 。

10、9.3代数优化,9.3.1关系代数表达式的等价转换规则9.3.2查询树的启发式优化,AnintroductionDataBase系统,9.3.1关系代数等价转换规则,关系代数表达式等价意味着用相同的关系替换两个表达式中的对应关系所获得的结果是相同的。 上述优化策略大多涉及代数表达式的转换,AnintroductionDataBase系统,9.3.1关系代数等价转换规则,让E1,E2等。关系代数表达式,和条件表达式连接,笛卡尔乘积交换定律E1 E2E2 E1 E2E2 E1 E2E2FE1,AnintroductionDataBase System,9.3.1关系代数等价变换规则,2。连接和笛卡。

11、儿积的关联法则(E1E 2)E3E 1(E2E 3)(E1E 2)E3E 1(E2E 3)(E1E 2)E3E 1(E2E 3)ffff,AnintroductionDataBase System,9.3.1关系代数的等价变换规则Bm (e) a1,a2,an (e)假设:1)E是关系代数表达式2)Ai(i=1,2,n),Bj(j=1,2,m)是属性名3) a1,a2,并且构成B1,B2,的子集,AnintroductionDataBase System,9.3.1关系代数的等价转换规则,5 .选择和投影的交换定律(1)假设3360选择条件F仅涉及属性a1、(A1、a2、An (E)、A1、A。

12、2、(F (E) (2)假设3360 A2、(F (E)、A1、A2、(F (A1、A2、An、B1、B2、BM (e)、AnintroductionDataBase系统、9.3.1关系代数的等价变换规则、6。用笛卡儿积选择交换定律(1)假设F中涉及的所有属性都是E1的属性F(e1e 2)F(E1)e2(2)假设F=f1F2,F1只涉及E1的属性,F2只涉及E2中的属性,这可以从上面的等价转换规则1、4和6中推导出来:f (e1e2) f1是introductionDataBase System,9.3.1等价关系代数的转换规则,(3)假设:F=F1F2,F1只涉及E1的属性, F2涉及E1和。

13、E2的属性,F(E1E2)F2(F1(E1)E2),它在笛卡儿积之前进行部分选择,AnintroductionDataBase System,9.3.1关系代数的等价变换规则,7。 选择与结合的交换假设:E=E1E2,E1,E2具有相同的属性名F(E1E2)F(E1)F(E2)8。选择和差异操作的交换假设:E1和E2具有相同的属性名F (E1-E2) F(。介绍一个数据库系统,9.3.1关系代数等价转换规则,9。选择分布律f (e1e2) f (e1) f (e2),介绍数据库系统,9.3.1关系代数等价变换规则,10。投影和笛卡儿积的交换假设:E1和E2是两个关系表达式,a1,an是E1的属。

14、性,B1,Bm是E2的属性A1,a2,an,B1,B2,BM (e1e2) a1,a2,an (E1) B1,B2,BM (E2),关系代数的等价转换规则(续),11。投影和并集的交换假设:E1和E2具有相同的属性名a1,a2,an (e1e2) a1,a2,an (E1) a1,a2,an (E2),简介数据库系统,概述,1-2:连接,笛卡尔乘积交换定律,关联定律3:合并或分解投影操作4:合并或分解选择操作5-9:选择操作与其他操作的交换5,10,11:投影操作与其他操作的交换,数据库系统简介,9.3代数优化, 9.3.1关系代数表达式的等价转换规则9.3.2查询树的启发式优化,Anintr。

15、oductionDataBase系统,9.3.2查询树的启发式优化典型的启发式规则:选择操作应尽可能先完成。 目的:减少中间关系。在执行连接操作之前,请正确预处理关系。根据连接属性对连接属性建立索引投影操作和选择操作。目的:避免重复扫描关系。将投影操作与前后的双目操作结合起来。目的:减少扫描关系的次数。9.3.2查询树的启发式优化典型的启发式规则:笛卡尔乘积=连接操作示例:学生。SnO=sc。SnO(studc)studc提取常用子表达式,以及查询树的启发式优化算法,算法:关系表达式的优化输入:一个输出:计算表达式的程序。方法:(1)分解和选择操作使用规则4将f 1 f 2形式的f n (e)转换为f 1 (f 2 (fn (e),一种关系代数表达式的优化算法(续。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值