第九章-关系查询处理和查询优化课件.ppt
《第九章-关系查询处理和查询优化课件.ppt》由会员分享,可在线阅读,更多相关《第九章-关系查询处理和查询优化课件.ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、An Introduction to Database System上海第二工业大学上海第二工业大学 计算机与信息学院计算机与信息学院数据库系统概论数据库系统概论An Introduction to Database System第九章第九章 关系查询处理和查询优化关系查询处理和查询优化An Introduction to Database System第九章第九章 关系查询处理和查询优化关系查询处理和查询优化9.1 关系数据库的查询处理9.2 关系数据库系统的查询优化9.3 代数优化9.4 物理优化An Introduction to Database System9.1 关系数据库的查询处
2、理关系数据库的查询处理9.1.1 查询处理的步骤n查询分析:对查询语句进行语法和词法分析n查询检查:n检查语义:语句中使用的对象的存在性和有效性n用户权限和和完整性检查n检查通过后,把查询语句转换成等价的关系代数表达式(查询树即语法分析树)An Introduction to Database System语法分析树:语法分析树:结果结果project(Sname)select(SC.Cno=2)join(Student.Sno=SC.Sno)StudentSCAn Introduction to Database Systemn查询优化:选择一个高效的查询处理策略,方法有代数优化、物理优化,
3、选择的依据有基于规则、基于代价或基于语义n执行查询:依据优化器得到的策略生成查询计划,由代码生成器生成可执行代码。An Introduction to Database System9.1.2 实现查询操作的算法示例实现查询操作的算法示例1.选择操作的常用算法n全表扫描,选出符合条件的元组n使用索引可快速获取符合选择条件的元组指针,如sage=20或sage20。n组合条件如:sage20 and sdept=CSn方 法 1:分 别 选 出 符 合 sage20条 件 的 元 组 指 针 和 符 合sdept=CS条件的元组指针,然后求它们的交集n方法2:先选出符合sage20条件的元组指针
4、,然后对选出的元组判断是否符合sdept=CS条件。n第一种方法在sage和sdept上均有索引的情况下比较有效,第二种方法应该优先选出选择条件中有索引的元组。An Introduction to Database System2.连接操作的常用算法(假定为等值连接):Select a.sno,a.sname,o,b.grade from student a,sc b where a.sno=b.sno连接的总体思路:扫描student,对每一元组的sno,扫描grade的sno,把相同值的元组和student对应元组进行连接后输出。An Introduction to Database Sy
5、stem循环嵌套方法:嵌套扫描两个表,总循环次数为两个元组个数的乘积。排序-合并方法:根据两个表的sno进行排序,两个循环均不必进行全表扫描。效率大大提高。索引连接方法:对sc关于sno建立索引,内层循环中由于sc建立的索引,所以不必全表扫描。An Introduction to Database SystemHash join方法:适用大表和小表的连接1 依据Hash函数把小表数据放入内存(可保留少量数据在临时表空间中)(小表数据的一次扫描)2 每读取大表的一条记录(大表数据的一次扫描),就和小表中内存中的数据进行比较(有了hash函数,比较就不需要扫描小表),如果符合,则立即输出数据。而如
6、果大表的数据与小表中临时表空间的数据相符合,先不输出,而等大表的所有数据都读取完毕,才一起输出(减少读取硬盘的次数)。3.Hash Join方法只需要对两个表进行一次扫描,并且极大地降低了读取硬盘的次数。An Introduction to Database System9.2.1 查询优化概述查询优化概述n查询效率是衡量RDBMS重要性能指标。nRDBMS通过查询优化提升查询效率。n关系的结构化查询语言SQL高级别的语义(只需指出做什么而不必给出怎么做),使RDBMS进行查询优化成为可能。nRDBMS的查询优化,使用户不必考虑如何最好地表达查询以获得较好的效率。An Introduction
7、 to Database System系统进行优化较用户优化的优势:系统进行优化较用户优化的优势:n优化器可以从数据字典中获取许多统计信息,而用户程序则难以获得这些信息。n如果数据库的物理统计信息改变了,系统可以自动对查询重新优化以选择相适应的执行计划而不必重写程序。n优化器可以考虑数百种不同的执行计划,而程序员一般只能考虑有限的几种可能性。n优化器中包括了很多复杂的优化技术。An Introduction to Database System查询优化目标查询优化目标n查询优化的总目标 选择有效策略,求得给定关系代数表达式的值(关系),使得查询代价最小。n查询执行策略的代价构成:总代价=I/O
8、代价+CPU代价+内存代价+通信代价 An Introduction to Database System9.2.2 查询优化的必要性查询优化的必要性 例:求选修了课程2的学生姓名 SELECT Student.SnameFROM Student,SCWHERE Student.Sno=SC.SnoAND SC.Cno=2;n以下考察不同的执行策略对数据读写上需要的时间An Introduction to Database System查询优化的必要性(续)查询优化的必要性(续)假设:1:Student:1000条,SC:10000条,选修2号课程:50条2:一个内存块可存放元组:10个Stu
9、dent,或100个SC,内存容量可以存放:5块Student元组、1块SC元组和若干块连接结果元组3:读写速度:20块/秒4:连接方法:基于数据块的嵌套循环法 An Introduction to Database System执行策略执行策略1:笛卡尔积、选择、投影笛卡尔积、选择、投影Q1sname(Student.Sno=SC.SnoSC.Cno=2(StudentSC)StudentSC:读取总块数=读Student表块数+读SC表遍数 *每遍块数=1000/10+(1000/(105)(10000/100)=100+20100=2100 读数据时间=2100/20=105秒每次可读s
10、tudent的10X5个元组,然后以块为单位读入全部SC,产生笛卡尔积An Introduction to Database System中间结果大小=1000*10000=107 写中间结果时间=10000000/10/20=50000秒(假设每个内存块可存放10个元组的中间结果)读数据时间=50000秒总时间=1055000050000秒=100105秒 =27.8小时An Introduction to Database System执行策略执行策略2:自然连接、选择、投影:自然连接、选择、投影2.2 name(SC.Cno=2(Student SC)读取总块数=2100块读数据时间=2
11、100/20=105秒中间结果大小=10000 (减少1000倍)写中间结果时间=10000/10/20=50秒读数据时间=50秒时间1055050秒205秒=3.4分An Introduction to Database System执行策略执行策略3:选择、自然连接、投影:选择、自然连接、投影3.3 Sname(Student SC.Cno=2(SC)读SC表总块数=10000/100=100块读数据时间=100/20=5秒中间结果大小=50条 不必写入外存读Student表总块数=1000/10=100块读数据时间=100/20=5秒 总时间55秒10秒 An Introduction
12、to Database System9.3 代数优化代数优化n关系代数表达式:关系代数运算符经过有限次复合后得到的式子,其值仍为关系。(P60)n关系代数表达式等价:即关系代数表达式E1和E2中代入相同的关系,其结果相同,记为:E1E2。An Introduction to Database System9.3.1 关系代数表达式等价变换规则关系代数表达式等价变换规则设E1、E2等是关系代数表达式,F是条件表达式l.连接、笛卡尔积交换律E1 E2 E2E1E1 E2E2 E1 E1 F E2E2 F E1 An Introduction to Database System关系代数等价变换规则
13、(续)关系代数等价变换规则(续)2.连接、笛卡尔积的结合律 (E1E2)E3 E1 (E2E3)(E1 E2)E3 E1 (E2 E3)(E1 E2)E3 E1 (E2 E3)F1 F2 F1 F2An Introduction to Database System关系代数等价变换规则(续)关系代数等价变换规则(续)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的子集 An Introduction to Database Syste
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第九 关系 查询 处理 优化 课件
限制150内