欢迎来到天天文库
浏览记录
ID:60803635
大小:245.50 KB
页数:36页
时间:2020-02-03
《第04章关系查询处理和查询优化.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、问题关系数据库的操作对象和操作结果分别是什么?SQL语言是过程化的?还是非过程化的?SQL语言的特点是什么?方便了用户,计算机系统在执行时是否也具有较高的效率?C源程序语法检查语句结构分析生成目标文件编译将多个目标文件连接起来生成可执行程序运行计算机系统如何处理SQL语句?计算机系统如何处理c语言程序?过程如下:关系查询处理和查询优化主要内容:查询处理步骤查询的优化理论基础——代数优化物理优化——存储和结构4.1关系数据库系统的查询处理RDBMS进行查询处理的目的是什么?提高计算机系统的执行效率——优化。查询过程如下:查询语句词法分析语法分析语义分析符号名转换检查安全性和完整性代数优化物理优化
2、生成代码查询分析查询检查查询优化查询执行数据库中的相关信息从另一个角度描述查询语法分析器与翻译器关系代数表达式优化器执行计划执行引擎查询结果数据有关数据的统计信息在实际操作过程中上述过程如何进行?4.2实现查询操作的分析RDBMS有哪些基本类型的查询操作?选择,连接4.2.1RDBMS应该怎样进行选择操作?例如选择语句Select*fromstudentwheresno=‘94545’最简单的方法:搜索全部相应的表,查找符合条件的记录或记录集合。利用数据结构课程中的知识分析下列算法的特性,适用的情况。顺序搜索法;二分搜索法;散列搜索法。在一个关系数据库的表中,RDBMS应该如何进行搜索(查询)
3、?1、简单的搜索:在没有排序的情况下——顺序搜索;已经排序了——二分搜索;如果使用散列存储(或B+树),可不可提高效率,如果可以该如何做?添加键信息(指向数据存储的位置)。—索引2、索引搜索法:B+树的结构:59971544597297101521374451596372859197rootsqtRoot和sqt指针的作用是什么,非叶子节点中的数据的作用是什么?针对某一个数据,可以采取哪几种搜索方法?利用B+树建立的索引进行搜索比简单的搜索性能如何?下面选择语句应该如何操作?1:select*fromstudentwheresno<‘023231’利用B+树的索引功能,在Sno属性上添加索引就
4、可以提高操作效率。2:select*fromstudent,s_cwherestudent.sno=s_c.snoRDBMS如何实现该操作?连接4.2.2RDBMS应该怎样实现连接操作?法1.涉及到几个表,就用几层嵌套循环——该怎样做?例如:Selectsnamefromstudent,s_cwherestudent.sno=s_c.snofor(每个元组tsinstudent){for(每个元组trins_c){if(每个(ts,tr)对满足条件)把ts的sname放到结果中;}}法2.先排序,然后再搜索——该怎样做?法3.使用索引(建立索引);进行搜索——该怎样做?问题:连接操作与简单的选
5、择操作,哪个执行速度高?在一个复杂查询中,用户使用的查询语句一定完全一样吗,若不一样,各种语句的执行速度都一样吗?看下例:Selectstudent.namefromstudent,s_cwherestudent.sno=s_c.snoands_c.cno=‘2’操作方法有如下几种:具体方法类似于《数据结构》中介绍的相应的方法。注意:该处的排序是外部排序。步1:先求两个表的笛卡尔积;步2:然后找到两个学号相同且s_c.cno=‘2’的元组;步3:查找出姓名。法1法2步1:先求两个表的自然连接;步2:然后找到s_c.cno=‘2’的元组;步3:查找出姓名。法3步1:先找到s_c.cno=‘2’的
6、元组;步2:然后student表和s_c.cno=‘2’的元组自然连接;步3:查找出姓名。在相同条件下,哪种方法效率高,为什么?考查产生的中间结果的数量,法3应该最少,法2次之,法1最多,因此……对于用户编写的查询语句,RDBMS有必要对其进行语法分析,采取最优的执行方法,以提高效率。对上面的查询的3种方法分别写出关系代数式是什么?上面3个关系代数实现的是同一个功能,因此它们是等价的。针对用户的查询请求,RDBMS如何选择高效的处理方式?4.3代数优化RDBMS选择最优操作的依据是什么?4.3.1关系代数表达式等价变换规则1、下列关系代数表达式是否成立?因此有1.连接、笛卡尔积的交换律设E1和
7、E2是关系代数表达式,F是连接运算的条件,则有:2、下列关系代数表达式是否成立?等值连接和连接呢?2.连接、笛卡尔积的结合律没有先后次序的区别3、下列关系代数表达式是否成立,执行效率是否一样?3.投影的串接定律4.选择的串接定律4、下列关系代数表达式是否成立,执行效率是否一样?5.选择与投影操作的交换律F与Ai的关系是什么?F只涉及到Ai(i=1,2,…,n),若F还涉及到其他呢?假设F还涉及到属
此文档下载收益归作者所有