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