最新四章节关系系统及其查询优化ppt课件.ppt
《最新四章节关系系统及其查询优化ppt课件.ppt》由会员分享,可在线阅读,更多相关《最新四章节关系系统及其查询优化ppt课件.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、安财信工学院计算机系2006年4月12日2第四章第四章 关系系统及其查询优化关系系统及其查询优化4.1 关系系统关系系统4.2 关系系统的查询优化关系系统的查询优化4.3 小结小结安财信工学院计算机系安财信工学院计算机系安财信工学院计算机系安财信工学院计算机系安财信工学院计算机系安财信工学院计算机系安财信工学院计算机系2006年4月12日9第四章第四章 关系系统及其查询优化关系系统及其查询优化4.1 关系系统关系系统4.2 关系系统的查询优化关系系统的查询优化4.3 小结小结安财信工学院计算机系2006年4月12日104.2 关系系统的查询优化关系系统的查询优化 4.2.1 查询优化概述查询优
2、化概述4.2.2 查询优化的必要性查询优化的必要性4.2.3 查询优化的一般准则查询优化的一般准则4.2.4 关系代数等价变换规则关系代数等价变换规则4.2.5 关系代数表达式的优化算法关系代数表达式的优化算法4.2.6 优化的一般步骤优化的一般步骤 安财信工学院计算机系2006年4月12日114.2.1 查询优化概述查询优化概述查询优化的必要性查询优化的必要性查询优化极大地影响查询优化极大地影响RDBMS的性能。的性能。 查询优化的可能性查询优化的可能性关系数据语言的关系数据语言的级别很高级别很高,使,使DBMS可以可以从关系表达式中分析查询从关系表达式中分析查询语义语义。 安财信工学院计算
3、机系2006年4月12日12由由DBMS进行查询优化的好处进行查询优化的好处用户不必考虑如何最好地表达查询以获得较用户不必考虑如何最好地表达查询以获得较好的效率好的效率系统可以比用户程序的系统可以比用户程序的优化优化做得更好做得更好(1) 优化器可以从数据字典中获取许多统计信息,而优化器可以从数据字典中获取许多统计信息,而用户程序则难以获得这些信息用户程序则难以获得这些信息 安财信工学院计算机系2006年4月12日13由由DBMS进行查询优化的好处进行查询优化的好处(2)如果数据库的物理统计信息改变了,系统可以自动对查如果数据库的物理统计信息改变了,系统可以自动对查询询重新优化重新优化以选择相
4、适应的执行计划。以选择相适应的执行计划。 在非关系系统中必须重写程序,而重写程序在实际应用中在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。往往是不太可能的。(3)优化器可以考虑数百种不同的执行计划,而程序员一般优化器可以考虑数百种不同的执行计划,而程序员一般只能考虑有限的几种可能性只能考虑有限的几种可能性。(4)优化器中包括了很多复杂的优化技术优化器中包括了很多复杂的优化技术安财信工学院计算机系2006年4月12日14查询优化目标查询优化目标查询优化的总目标查询优化的总目标 选择有效策略,求得给定关系表达式的值选择有效策略,求得给定关系表达式的值实际系统的查询优化步骤实际
5、系统的查询优化步骤1. 将查询转换成某种内部表示,通常是语法树将查询转换成某种内部表示,通常是语法树2. 根据一定的等价变换规则把语法树转换成标准根据一定的等价变换规则把语法树转换成标准 (优化)形式(优化)形式安财信工学院计算机系2006年4月12日15实际系统的查询优化步骤实际系统的查询优化步骤3. 选择低层的操作算法选择低层的操作算法对于语法树中的每一个操作对于语法树中的每一个操作计算各种执行算法的执行代价计算各种执行算法的执行代价选择代价小的执行算法选择代价小的执行算法4. 生成查询计划生成查询计划(查询执行方案查询执行方案)查询计划是由一系列内部操作组成的。查询计划是由一系列内部操作
6、组成的。安财信工学院计算机系2006年4月12日16代价模型代价模型集中式数据库集中式数据库单用户系统单用户系统总代价总代价 = I/O代价代价 + CPU代价代价多用户系统多用户系统总代价总代价 = I/O代价代价 + CPU代价代价 + 内存代价内存代价分布式数据库分布式数据库 总代价总代价 = I/O代价代价 + CPU代价代价+ 内存代价内存代价 + 通信代价通信代价 安财信工学院计算机系2006年4月12日174.2.2 查询优化的必要性查询优化的必要性 例:求选修了课程例:求选修了课程2的学生姓名的学生姓名 SELECT Student.SnameFROM Student, SCW
7、HERE Student.Sno=SC.SnoAND SC.Cno=2; 安财信工学院计算机系2006年4月12日18查询优化的必要性(续)查询优化的必要性(续) 假设假设1:外存:外存:Student:1000条条,SC:10000条条, 选修选修2号课程号课程:50条条假设假设2:一个内存块装元组:一个内存块装元组:10个个Student, 或或100个个SC, 内存中一次可以存放内存中一次可以存放: 5块块Student元组元组, 1块块SC元组和若干块连接结果元组元组和若干块连接结果元组假设假设3:读写速度:读写速度:20块块/秒秒假设假设4:连接方法:连接方法:基于数据块基于数据块的
8、嵌套循环法的嵌套循环法 安财信工学院计算机系2006年4月12日19执行策略执行策略11 n a m e(S t u d e n t . S n o =S C . S n o S C . C n o = 2 (StudentSC) StudentSC 读取总块数读取总块数= 读读Student表块数表块数 + 读读SC表遍数表遍数 *每遍块数每遍块数 =1000/10+(1000/(105) (10000/100) =100+20100=2100 读数据时间读数据时间=2100/20=105秒秒安财信工学院计算机系2006年4月12日20不同的执行策略不同的执行策略,考虑考虑I/O时间时间中间
9、结果大小中间结果大小 = 1000*10000 = 107 (1千万条元千万条元组组)写中间结果时间写中间结果时间 = 10000000/10/20 = 50000秒秒 读数据时间读数据时间 = 50000秒秒 总时间总时间 =1055000050000秒秒 = 100105秒秒 = 27.8小时小时安财信工学院计算机系2006年4月12日21查询优化的必要性(续)查询优化的必要性(续) 2. 2 name(SC.Cno= 2 (Student SC) 读取总块数读取总块数= 2100块块读数据时间读数据时间=2100/20=105秒秒中间结果大小中间结果大小=10000 (减少(减少1000
10、倍)倍)写中间结果时间写中间结果时间=10000/10/20=50秒秒 读数据时间读数据时间=50秒秒 总时间总时间1055050秒秒205秒秒=3.4分分 安财信工学院计算机系2006年4月12日22查询优化的必要性(续)查询优化的必要性(续) 3. 2 Sname(Student SC.Cno= 2 (SC) 读读SC表总块数表总块数= 10000/100=100块块读数据时间读数据时间=100/20=5秒秒 中间结果大小中间结果大小=50条条 不必写入外存不必写入外存 读读Student表总块数表总块数= 1000/10=100块块读数据时间读数据时间=100/20=5秒秒 总时间总时间
11、55秒秒10秒秒 安财信工学院计算机系2006年4月12日23查询优化的必要性(续)查询优化的必要性(续) 4. 2 name(Student SC.Cno=2 (SC)假设假设SC表在表在Cno上有索引,上有索引,Student表在表在Sno上上有索引有索引 读读SC表索引表索引=读读SC表总块数表总块数= 50/1001块块读数据时间读数据时间 中间结果大小中间结果大小=50条条 不必写入外存不必写入外存安财信工学院计算机系2006年4月12日24查询优化的必要性(续)查询优化的必要性(续) 读读Student表索引表索引=读读Student表总块数表总块数= 50/10=5块块读数据时间
12、读数据时间 总时间总时间 连接运算连接运算 例:例:Student.Sno=SC.Sno (StudentSC) Student SC提取公共子表达式提取公共子表达式安财信工学院计算机系2006年4月12日274.2.4 关系代数等价变换规则关系代数等价变换规则 关系代数表达式等价关系代数表达式等价指用相同的关系代替两个表达式中相应的关系所指用相同的关系代替两个表达式中相应的关系所得到的结果是相同的得到的结果是相同的上面的优化策略大部分都涉及到代数表达式的变上面的优化策略大部分都涉及到代数表达式的变换换安财信工学院计算机系2006年4月12日28常用的等价变换规则常用的等价变换规则设设E1、E
13、2等是关系代数表达式,等是关系代数表达式,F是条件表达式是条件表达式 l. 连接、笛卡尔积交换律连接、笛卡尔积交换律E1 E2 E2E1E1 E2E2 E1 E1 F E2E2 F E1 安财信工学院计算机系2006年4月12日29关系代数等价变换规则(续)关系代数等价变换规则(续) 2. 连接、笛卡尔积的结合律连接、笛卡尔积的结合律 (E1E2) E3 E1 (E2E3) (E1 E2) E3 E1 (E2 E3) (E1 E2) E3 E1 (E2 E3) F F F F安财信工学院计算机系2006年4月12日30关系代数等价变换规则(续)关系代数等价变换规则(续) 3. 投影的串接定律投
14、影的串接定律 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的子集的子集 安财信工学院计算机系2006年4月12日31关系代数等价变换规则(续)关系代数等价变换规则(续) 4. 选择的串接定律选择的串接定律 F1 ( F2(E) F1 F2(E)选择的串接律说明选择的串接律说明 选择条件可以合并选择条件可以合并这样一次就可检查全部条件。这样一次就可检查全部条件。 安财信工学院计算机系2006年
15、4月12日32关系代数等价变换规则(续)关系代数等价变换规则(续) 5. 选择与投影的交换律选择与投影的交换律(1)假设假设: 选择条件选择条件F只涉及属性只涉及属性A1,An F (A1,A2, ,An(E) A1,A2, ,An(F(E) (2)假设假设: F中有不属于中有不属于A1, ,An的属性的属性B1,Bm A1,A2, ,An ( F (E) A1,A2, ,An(F (A1,A2, ,An,B1,B2, ,Bm(E)安财信工学院计算机系2006年4月12日33关系代数等价变换规则(续)关系代数等价变换规则(续) 6. 选择与笛卡尔积的交换律选择与笛卡尔积的交换律(1) 假设:假
16、设:F中涉及的属性都是中涉及的属性都是E1中的属性中的属性 F (E1E2)F (E1)E2 (2) 假设:假设:F=F1F2,并且,并且F1只涉及只涉及E1中的属性,中的属性, F2只涉及只涉及E2中的属性中的属性 则由上面的等价变换规则则由上面的等价变换规则1,4,6可推出:可推出: F(E1E2) F1(E1)F2 (E2) 安财信工学院计算机系2006年4月12日34关系代数等价变换规则(续)关系代数等价变换规则(续) (3) 假设:假设: F=F1F2, F1只涉及只涉及E1中的属性,中的属性, F2涉及涉及E1和和E2两者的属性两者的属性 F(E1E2) F2(F1(E1)E2)
17、它使部分选择在笛卡尔积前先做它使部分选择在笛卡尔积前先做 安财信工学院计算机系2006年4月12日35关系代数等价变换规则(续)关系代数等价变换规则(续) 7. 选择与并的交换选择与并的交换假设:假设:E=E1E2,E1,E2有相同的属性名有相同的属性名F(E1E2) F(E1) F(E2) 8. 选择与差运算的交换选择与差运算的交换假设:假设:E1与与E2有相同的属性名有相同的属性名F(E1-E2) F(E1) - F(E2) 安财信工学院计算机系2006年4月12日36关系代数等价变换规则(续)关系代数等价变换规则(续) 9. 投影与笛卡尔积的交换投影与笛卡尔积的交换假设:假设:E1和和E
18、2是两个关系表达式,是两个关系表达式, A1,An是是E1的属性,的属性, B1,Bm是是E2的属性的属性 A1,A2, ,An,B1,B2, ,Bm (E1E2) A1,A2, ,An(E1) B1,B2, ,Bm(E2)安财信工学院计算机系2006年4月12日37关系代数等价变换规则(续)关系代数等价变换规则(续) l0. 投影与并的交换投影与并的交换假设:假设:E1和和E2 有相同的属性名有相同的属性名 A1,A2, ,An(E1E2) A1,A2, ,An(E1) A1,A2, ,An(E2) 安财信工学院计算机系2006年4月12日38小结小结1-2: 连接、笛卡尔积连接、笛卡尔积的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 章节 关系 系统 及其 查询 优化 ppt 课件
限制150内