2022第十二章-查询优化技术关系数据库系统的查询自下而上分为三个精选ppt.ppt
查询优化技术关系数据库系统的查询自下而上分为三个层次 本章节主要讨论关系数据库系统的查询优化技术,特别是第二层的优化处理技术。查询优化的目的是为了提高数据库的访问效率。关系数据库系统的查询可以分为三个层次:第一层是关系代数的操作;第二层是由关系代数的操作组成的查询计划;第三层是用户查询的高级描述。本章节主要讨论第二层的优化处理技术。 讨论问题的提出。多个关系代数构成的查询可以有多种操作策略,不同的操作策略一般有不同的磁盘存取复杂性,因此选择复杂性较低的一种策略是提高访问数据库效率的重要的优化技术。例如,设关系S有1000个学生的记录,其属性是姓名sn和学号s#。关系SC有10000个选课记录,其属性是学号s#和课程号c#。现在要查询选修C2课程的学生姓名。这个例子不但说明了查询优化的必要性,而且给我们启示:先选择再连接,可减少中间运算,提高处理速度。 然后,讨论启发式关系代数优化方法。关系代数表达式的优化是查询优化中的一个至关重要的问题。许多关系型DBMS处理查询的第一步是把查询的高级描述(例如SQL)语句转换为对应的内部表示,即关系代数表达式,或其图表示:查询树。第二步是运用关系代数等价变换规则和关系代数优化规则(策略)把内部表示转换为复杂性较低的另一等价形式。本节介绍基于关系代数等价变换规则的启发式查询优化方法。 关系代数等价变换规则是查询优化的基础。常用的关系代数等价变换规律包括12类。下边仅列出前10类: 1. 选择串接率:c1 and …and cn(A)c1(c2(…(cn(A))…)),其中A是关系代数表达式,ci是选择条件。 2. 选择交换率:c(d(A))d(c(A)),c和d是选择条件。 3. 投映串接率:L1(L2(…(Ln(A))…))L1(A),其中,L1L2…Ln。即:逐次投影操作可一次投影到投影域交集。 4. 选择投映交换率:关于选择与投影连续操作的次序交换问题,若条件c仅包括投映域L中的属性,则L(c(A))c(L(A))若条件c包括投映域L外的属性x,则L(c(A))L(c(L,x(A))) 5. 连接和笛卡儿乘积的交换率:ABBA,AcBBcA 6. 集合操作的交换率:ABBA,ABBA 7. 连接、笛卡儿乘积和集合操作的结合率:(AB)CA(BC),(AcB)dCAc(BdC) 8. 选择、连接和笛卡儿乘积的分配率:c(AdB)(cA)dB,(选择条件c仅涉及A的属性) 9. 投影、连接和笛卡儿乘积的分配率:L(AdB)(L1A)d(L2B),(L=L1L2,L1仅涉及A的属性,L2仅涉及B的属性) 10. 选择与集合操作的分配率:c(AB)c(A)c(B) 关系代数等价变换规则是查询优化的基础。通过这些规则,可以将关系代数表达式转换为复杂性较低的等价形式,从而提高查询效率。
剩余27页未读,继续阅读
- 粉丝: 780
- 资源: 7万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助