《数据库管理及应用》课程电子教案(PPT课件)4.01 Optimitation of Query 查询优化

3.08 optimization of Query 查询优化 2 159
159 §3.08 optimization of Query 查询优化

、 Putting the questions (问题的提出) 一个用户查询,系统实现时 均使用一个与之相应的关系代数表达式去求解。 同一查询等价的关系代数表达式的不同,就会 出现不同的求解路线。 例:有一SEQUEL语言书写的查询: SELECT C#.GRADE FROM S,SC WHERE S.S#=SC.S#AND S.NAME=CHAN 160
160 一、Putting the questions (问题的提出) 一个用户查询,系统实现时 均使用一个与之相应的关系代数表达式去求解。 同一查询等价的关系代数表达式的不同,就会 出现不同的求解路线。 例:有一SEQUEL语言书写的查询: SELECT C#,GRADE FROM S,SC WHERE S.S#=SC.S# AND S.NAME=‘CHAN’

查询问题: 假定姓名唯一,则 S.NAME=CHAN 可以确定唯一的学号S.S# 用S.S#扫描$C关系匹配:S.S#=SC.S#并投 影其C#,GRADE 用户查询:‘CHAN所选课程课号和相应成绩。 161
161 查询问题: 假定姓名唯一,则: S.NAME=‘CHAN’ 可以确定唯一的学号S.S# 用S.S#扫描SC关系匹配: S.S# =SC.S#并投 影其C#,GRADE 用户查询:‘CHAN’所选课程课号和相应成绩

实际解释过程: 由:S.S#=SC.S# 被操作关系:S,SC,知 先自然连接,产生如下关系: S# NAME AGE SEX C# GRADE 然后选择:NAME=CHEN,投影C#, GRADE
实际解释过程: 由: S.S#=SC.S# 被操作关系:S,SC,知: 先自然连接,产生如下关系: S# NAME AGE SEX C# GRADE 然后选择:NAME =CHEN ,投影C#,GRADE

系统可用多种等价的关系 代数表达式,实现该操作: T1=11C#,GRADE (òS.S#=SC.S#NAME=CHAN(SxSC)) T2=Π6#, GRADE NAME-CHAN (S ☒ sc)) T3=Πc*, GRADE (8 NAME=CHAN(s) 运算复杂性比较 162
162 系统可用多种等价的关系 代数表达式,实现该操作: T1=C#,GRADE(S.S#=SC.S#NAME=‘CHAN’(SSC)) T2=C#,GRADE (NAME=CHAN(S SC)) T3=C#,GRADE ( NAME=CHAN(s) SC) 运算复杂性比较

● 二、优化的一般策略 1、提前执行选择运算 2、合并乘积与其后的连接为连接运算 3、在一次扫描中,同时执行一连串的选择 和投影 4、提前对文件做予处理,如建立倒排文件 5、存储公共表达式 163
163 二、优化的一般策略 1、提前执行选择运算 2、合并乘积与其后的连接 为连接运算 3、在一次扫描中,同时执行一连串的选择 和投影 4、提前对文件做予处理,如建立倒排文件 5、存储公共表达式

三、关系代数表达式的 等价代换规则: 1、投影串结合: Π,2.,。A(B1.。,w(E)三ⅡA,A2,。。A(E) 相连的两次投影,必然有: {A1,...AN}C[B1,...,BM} 内层投影无意义 2、选择串结合: ⑧1(82(E))≡⑧1F2(E 两次选择操作在一次扫描中完成
164 三、关系代数表达式的 等价代换规则: 1、投影串结合: A1,A2。。。AN(B1。。。,BM (E)) A1,A2,。。。AN(E) 相连的两次投影,必然有: {A1,…,AN} {B1,…,BM} 内层投影无意义 2、选择串结合: F1( F2(E)) F1F2 (E) 两次选择操作在一次扫描中完成

3、选择与投影交换 若选择公式F中只涉及A1,,AN则: Π A1.A2,AN(G(E))三C(LA1A2AN(E) 规则上先选择、先投影,结果同 实现上是一次扫描中完成,且不受上述条 件限制 4、选择和乘积交换 有如下几种情况: 165
165 3、选择与投影交换 若选择公式F中只涉及A1,…,AN 则: A1,A2,…,AN(F(E)) F( A1,A2,…,AN(E)) 规则上先选择、先投影,结果同 实现上是一次扫描中完成,且不受上述条 件限制 4、选择和乘积交换 有如下几种情况:

公式F中只涉及E1或E2属性 δ-(E1×E2)≡δ(E1)×E2 δ(E1×E2)≡E1×δ=(E2) F=F1入F2,且F1只涉及E1,F2只涉及E2属性 δ(E1×E2)≡⑧1(E1)×2(E2) 若F1涉及E1、E2,而F2只涉及E2属性 ⑧(E1×E2)≡d-1(E1×⑧2(E2)) 166
166 公式F中只涉及E1或E2属性 F(E1E2) F(E1) E2 F(E1E2) E1F(E2) F=F1F2,且F1只涉及E1,F2只涉及E2属性 F(E1E2) F1(E1) F2(E2) 若F1涉及E1、E2,而F2只涉及E2属性 F(E1E2) F1(E1 F2(E2))

5、选择与合并交换 E1、E2属性相同: δ(E1UE2)≡ δ(E1)Uδp(E2〉 6、选择与求差交换 δ(E1-E2)≡δ(E1)-δ(E2)≡δ(E1)-E2 7、投影与合并交换 若E1、E2同类 ΠAIAN(EIUE2)≡ΠAIAN(E1)UA1ANCE2〉 16
167 5、选择与合并交换 E1、E2属性相同: F(E1E2) F(E1) F(E2) 6、选择与求差交换 F(E1-E2) F(E1)- F(E2) F(E1)- E2 7、投影与合并交换 若E1、E2同类 A1,,…,AN(E1E2) A1,,…,AN(E1) A1,,…,AN(E2)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《数据库管理及应用》课程电子教案(PPT课件)3.07 QBE Language QBE数据库语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.06 Dynamic SQL 动态SQL.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.05 Embedded SQL 嵌入式SQL.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.04 QL and DML in SQL SQL中的查询语言和现代语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.03 DDL 数据定义语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.02 SQL Introduction & DDL SQL 查询语言入门和 DDL)(SQL:结构化查询语言,DDL:数据定义语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)3.01 Data Manipulation languages 数据操纵语言.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)2.03 Tuple&Domain Relation Calculus 元组和域关系演算.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)2.02 Relation Calculus 关系运算.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)2.01 data Model of Database 数据库的数据模型.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)1.02 Data Description of real world 真实世界的数据描述.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)1.01 Database 数据库.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)0.0 Development History for Database.ppt
- 沈阳航空航天大学:自动化学院《计算机控制技术》课程教学大纲.pdf
- A-Duplex:Medium Access Control for Efficient Coexistence Between Full-Duplex and Half-Duplex Communications.pdf
- 《电脑编程》教学参考书籍文献(Fortran)FORTRAN常用算法程序集(第二版,共十五章,编著:徐士良).pdf
- 《电脑编程》教学参考书籍文献(JAVA)J2EE指南(共十七章).pdf
- 《电脑编程》教学参考书籍文献(JAVA)Introduction to Java Distributed Objects - Using RMI and CORBA.pdf
- 《电脑编程》教学参考书籍文献(JAVA)EJB Design Patterns Advanced Patterns, Processes, and Idioms(2002, Floyd Marinescu, Wiley).pdf
- 《电脑编程》教学参考书籍文献(C++编程书籍)设计模式 - 可利用面向对象软件的基础 Design Patterns - Elements of Reusable Object-Oriented Software.pdf
- 《数据库管理及应用》课程电子教案(PPT课件)4.02 Access_path Based Query Optimization 基于存取路径的查询优化.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)4.03 Logical structures of Database 数据库的逻辑结构.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)4.04 DBMS 数据库管理系统.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)4.05 DBMS 数据库管理系统.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.01 Transaction Management 事务管理.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.03 Execution and Recovery of Update Transaction 更新事务的执行与恢复.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.04 Concurrent Control Introduction 并发控制引论.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.05 Locking Protocol 加锁协议.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.06 Examination dead lock 死锁的检测.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.07 concurrent control Based time stamp 基于时间标记的并发控制技术.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.08 Multiple Granularity Locking 多粒度封锁.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)5.09 Concurrent Control Based Time Stamp 基于时间标记的并发控制技术.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)6.01 Dependency of Data 数据库相关性.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)6.02 Armstrong 公理体系.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)6.03 Introduction to Normal Form of relation 关系规范化导论.ppt
- 《数据库管理及应用》课程电子教案(PPT课件)6.04 Normal Form of Relation 关系规范化.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第一章 绪论(主讲人:徐沛娟).ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第七章 图.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第三章 线性表.ppt
- 吉林大学:《数据结构》课程电子教案(PPT课件)第八章 排序.ppt