第3章+分布式数据库中的查询处理和优化课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第3章+分布式数据库中的查询处理和优化课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 数据库 中的 查询 处理 优化 课件
- 资源描述:
-
1、1/921.1.分布式查询优化概述分布式查询优化概述2.2.分布式查询优化基础知识分布式查询优化基础知识3.3.分布式查询分类和层次结构分布式查询分类和层次结构4.4.基于关系代数等价变换的查询优化处理基于关系代数等价变换的查询优化处理5.5.基于半连接算法的查询优化处理基于半连接算法的查询优化处理6.6.基于直接连接算法的查询优化处理基于直接连接算法的查询优化处理7.7.直接连接操作的常用策略直接连接操作的常用策略分布式数据库中的查询处理和优化分布式数据库中的查询处理和优化 第第3章章2/92查询处理问题 集中式 查询转换为代数表达式 从所有等价表达式中选择最优的代数表达式 分布式 除了集中
2、式问题外,还有 站点之间交换数据的操作 选择最优的执行站点(分布)数据被传送的方式1.1 分布式查询优化的目标分布式查询优化的目标1 1 分布式查询优化概述分布式查询优化概述3/921.1 分布式查询优化的目标分布式查询优化的目标1 1 分布式查询优化概述分布式查询优化概述目标目标总代价最小总代价最小响应时间最短响应时间最短集中式集中式分布式分布式CPU代价(相对固定)代价(相对固定)I/O代价(优化的目标)代价(优化的目标)CPU代价代价I/O代价(访问磁盘)代价(访问磁盘)通讯代价通讯代价数据的分布和冗余增加了查询的并行处理数据的分布和冗余增加了查询的并行处理的可能性,从而可以缩减查询处理
3、的响应的可能性,从而可以缩减查询处理的响应时间时间主要标准主要标准辅助标准辅助标准4/921.2 分布式查询优化准则和代价分析分布式查询优化准则和代价分析1 1 分布式查询优化概述分布式查询优化概述准则:准则:使得使得通讯费用最低通讯费用最低和和响应时间最短响应时间最短,即以最小的总代价,即以最小的总代价,在最短的响应时间内获得需要的数据。在最短的响应时间内获得需要的数据。1.通讯费用与所传输的通讯费用与所传输的数据量数据量和和通信次数通信次数有关有关2.响应时间和通信时间有关,也与局部处理时间有关响应时间和通信时间有关,也与局部处理时间有关查询代价分析查询代价分析1.远程通讯网络远程通讯网络
4、 局部处理时间可以忽略不计,局部处理时间可以忽略不计,减少通讯代价减少通讯代价是主要目标是主要目标2.高速局域网高速局域网 传输时间比局部处理时间要短很多,以响应时间作为优化传输时间比局部处理时间要短很多,以响应时间作为优化目标,目标,局部处理时间局部处理时间是关键是关键5/92 例子 S(s#,sname,age,sex)104 元组 Site A C(c#,cname,teacher)105 元组 Site B SC(s#,c#,grade)106 元组 Site A 每个元组长度100bit,通讯传输速度 104 bit/sec,通讯延迟 1secS,SCCSite ASite B1.3
5、 分布式查询策略的重要性分布式查询策略的重要性1 1 分布式查询优化概述分布式查询优化概述6/92查询:所有选修maths 课的男生学号和姓名.SELECT s#,sname FROM S,C,SC WHERE S.s#=SC.s#AND C.c#=SC.c#AND sex=男 AND cname=maths;1.3 分布式查询策略的重要性分布式查询策略的重要性1 1 分布式查询优化概述分布式查询优化概述7/92 代价公式 QC=I/O 代价+CPU 代价+通讯代价 通讯代价 TC=传输延迟时间C0 +(传输数据量X/数据传输速率C1)=传输次数*1+传输的bit数*104。1.3 分布式查询
6、策略的重要性分布式查询策略的重要性1 1 分布式查询优化概述分布式查询优化概述8/921.3 分布式查询策略的重要性分布式查询策略的重要性1 1 分布式查询优化概述分布式查询优化概述策略策略1:A 传C B 把关系 C 传输到 A 地,在 A 地处理查询 T1=1+(105*100/104)S,SC 通信1次 C 103 秒 16.7 分钟 A 传S,SC B 把关系 S 和SC 传输到 B 地,在 B 地处理查询 T2=2+(104+105)*100/104 S,SC 通信2次 C 10100 秒 28小时 A 问105 B 先在A地求出男学生的成绩元组有105 再根据C#的值询问B地,核实
7、是否C=MATHS S,SC 答105 C T3(2*105*1)=2*105 秒 2.3 天策略策略2:策略策略3:六种查询策略六种查询策略S,SCCAB9/921.3 分布式查询策略的重要性分布式查询策略的重要性1 1 分布式查询优化概述分布式查询优化概述 A 问10 B 先在B地求出 MATHS的元组,有 10个 再根据C#的值询问 A 地的S,SC的连接,S,SC 答10 C 核实是否为选修MATHS的男生 T4 (2*10*1)=20 秒 A 传输105 B 先在A地求出男生选课元组,有105个 再把结果传输到 B 地,在 B 地执行查询,S,SC 通信1次 C T5=1+(105*
8、100)/104 1000 秒 16.7 分 A 传输10 B 先在B地求出为 MATHS 的元组,有 10个 再把结果传输到 A 地 ,在 A 地执行查询,S,SC 通信 1次 C T6=1+(10*100)/104 1 秒策略策略 4:策略策略 5:策略策略 6:六种查询策略六种查询策略S,SCCAB10/92相关表述记号相关表述记号 设关系模式为设关系模式为R(A1,A2,An)。它的一个关系设为。它的一个关系设为R。tR表示表示t是是R的一个的一个元组元组。则表示元组则表示元组t中相应于属性中相应于属性Ai的一个的一个分量分量。若若A=Ai1,Ai2,Aik,其中,其中Ai1,Ai2,
9、Aik是是A1,A2,An中的一部分,中的一部分,则则A称为属性列或域列。称为属性列或域列。tA=(tAi1,tAi2,tAik)表示元组表示元组 t 在属性在属性 列列A上诸分量的集合。则上诸分量的集合。则 表示表示A1,A2,An中去掉中去掉 Ai1,Ai2,Aik 后剩余的属性组。后剩余的属性组。A关系代数知识回顾关系代数知识回顾2 2 分布式查询优化中的基础知识分布式查询优化中的基础知识11/92 R为为n目关系,目关系,S为为m目关系。目关系。trR,tsS。trts 称为元组的称为元组的连接连接。它是一个它是一个(n+m)列的元组,前列的元组,前n个分量为个分量为R中的一个中的一个
10、n元组,后元组,后m个分量个分量 为为S中的一个中的一个m元组。元组。相关表述记号相关表述记号 给定一个关系给定一个关系R(X,Z),X和和Z为属性组。我们定义,当为属性组。我们定义,当tX=x时,时,x在在R中中 的的象集象集(Images Set)为:)为:Zx=tZ|tR,tX=x 它表示它表示R中属性组中属性组X上值为上值为x的诸元组在的诸元组在Z上分量的集合。上分量的集合。2.1 关系代数知识回顾关系代数知识回顾2 2 分布式查询优化中的基础知识分布式查询优化中的基础知识12/92传统的集合运算传统的集合运算 并运算并运算c1b2a2c2b2a1c1b1a1CBAc1b2a2c2b3
11、a1c2b2a1CBAR1R2c1b1a1c1b2a2c2b3a1c2b2a1CBAR1R2 设关系设关系R和关系和关系S具有相同的目具有相同的目n(即两个关系都有(即两个关系都有n个属性),且相应个属性),且相应的属性取自同一个域,则关系的属性取自同一个域,则关系R与关系与关系S的并由属于的并由属于R或属于或属于S的元组组成。的元组组成。其结果关系仍为其结果关系仍为n目关系。记作:目关系。记作:2.1 关系代数知识回顾关系代数知识回顾2 2 分布式查询优化中的基础知识分布式查询优化中的基础知识13/92 差运算差运算c1b2a2c2b2a1c1b1a1CBAc1b2a2c2b3a1c2b2a
12、1CBAR1R2c1b1a1CBAR1R2设关系设关系R R和关系和关系S S具有相同的目具有相同的目n n,且相应的属性取自同一个域,则关系,且相应的属性取自同一个域,则关系R R与关系与关系S S的差由属于的差由属于R R而不属于而不属于S S的所有元组组成。其结果关系仍为的所有元组组成。其结果关系仍为n n目关系。记作:目关系。记作:传统的集合运算传统的集合运算2.1 关系代数知识回顾关系代数知识回顾2 2 分布式查询优化中的基础知识分布式查询优化中的基础知识14/92 交运算交运算c1b2a2c2b2a1c1b1a1CBAc1b2a2c2b3a1c2b2a1CBAR1R2ABCa1b2
13、c2a2b2c1R1R2 设关系设关系R R和关系和关系S S具有相同的目具有相同的目n n,且相应的属性取自同一个域,且相应的属性取自同一个域,则关系则关系R R与关系与关系S S的交由既属于的交由既属于R R又属于又属于S S的元组组成。其结果关系仍的元组组成。其结果关系仍为为n n目关系。记作:目关系。记作:传统的集合运算传统的集合运算2.1 关系代数知识回顾关系代数知识回顾2 2 分布式查询优化中的基础知识分布式查询优化中的基础知识15/92 两个分别为两个分别为n n目和目和m m目的关系目的关系R R和和S S的广义笛卡尔积是一个的广义笛卡尔积是一个(n+m)(n+m)列的元组列的
14、元组的集合。元组的前的集合。元组的前n n列是关系列是关系R R的一个元组,后的一个元组,后m m列是关系列是关系S S的一个元组。若的一个元组。若R R有有k1k1个元组,个元组,S S有有k2k2个元组,则关系个元组,则关系R R和关系和关系S S的广义笛卡尔积有的广义笛卡尔积有k1k1k2k2个元组。记作:个元组。记作:R1R2c1b1a1c1b1a1c1b1a1CBAc1b2a2c2b3a1c2b2a1CBA.c2b3a1c2b2a1.c2b2a1c2b2a1c1b2a2c2b2a1c1b1a1CBAc1b2a2c2b3a1c2b2a1CBAR1R2 广义笛卡尔积广义笛卡尔积2.1 关
15、系代数知识回顾关系代数知识回顾2 2 分布式查询优化中的基础知识分布式查询优化中的基础知识16/92专门的关系运算专门的关系运算学号 学生姓名 所属系名 学生年龄 S#SN SD SA S1 A CS 20 S2 B CS 21 S3 C MA 19 S4 D CI 19 S5 E MA 20 S6 F CS 22S(S#,SN,SD,SA)2.1 关系代数知识回顾关系代数知识回顾2 2 分布式查询优化中的基础知识分布式查询优化中的基础知识17/92选择运算是从关系中选取使公式为真的元组。这是从行的角度进行的运算。选择运算是从关系中选取使公式为真的元组。这是从行的角度进行的运算。在关系在关系R
16、中选择满足给定条件的元组,记做:中选择满足给定条件的元组,记做:是一个公式,表示形式为由逻辑运算符是一个公式,表示形式为由逻辑运算符连接各算术表达式组成连接各算术表达式组成。算术表达式的基本形式为算术表达式的基本形式为:。例例1 求计算机科学系求计算机科学系CS的学生的学生学号 学生姓名 所属系名 学生年龄 S#SN SD SA S1 A CS 20 S2 B CS 21 S3 C MA 19 S4 D CI 19 S5 E MA 20 S6 F CS 22(a)(S)(S)S#SN SD SA S1 A CS 20 S2 B CS 21 S6 F CS 22 选择运算选择运算18/92 在关
17、系在关系R中选择满足给定条件的元组,记做:中选择满足给定条件的元组,记做:例例2 求计算机科学系求计算机科学系CS,年龄不超过,年龄不超过21岁的学生。岁的学生。(S)S#SN SD SA S1 A CS 20 S2 B CS 21 选择运算选择运算(S)S#SN SD SA S1 A CS 20 S2 B CS 21 S6 F CS 22学号 学生姓名 所属系名 学生年龄 S#SN SD SA S1 A CS 20 S2 B CS 21 S3 C MA 19 S4 D CI 19 S5 E MA 20 S6 F CS 22(S)19/92 投影运算投影运算 这是从列的角度进行的运算这是从列的
18、角度进行的运算。例例 即求得学生关系即求得学生关系S在学生姓名和所在系这两个属性上的投影结果。在学生姓名和所在系这两个属性上的投影结果。学号 学生姓名 所属系名 学生年龄 S#SN SD SA S1 A CS 20 S2 B CS 21 S3 C MA 19 S4 D CI 19 S5 E MA 20 S6 F CS 22(a)(S)关系关系R上的投影是从上的投影是从R中选择若干属性列组成新的关系。记做:中选择若干属性列组成新的关系。记做:投影之后不仅取消了某些列投影之后不仅取消了某些列,还可能取消某些元组。还可能取消某些元组。SA(S)SA20211922 SN SD A CS B CSC
19、MAD CIE MAF CS20/92 连接运算(连接运算(连接)连接)连接运算是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。连接运算是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记做记做:R S.其中,其中,F是条件表达式,它涉及到对两个关系中的属性的比较。是条件表达式,它涉及到对两个关系中的属性的比较。F例例4 设关系设关系R、S如下图:如下图:R S CE21/92 等值等值连连接接例例5 设关系设关系R、S如下图:如下图:连接运算中有两种最为重要也最为常用的连接,连接运算中有两种最为重要也最为常用的连接,为为“”的连接运算称为等值连接的连接运算称为等值连接:22/92
20、自然连接自然连接A B C Ea1 b1 5 3 a1 b2 6 7a2 b3 8 10a2 b3 8 2R S A R.B C S.B Ea1 b1 5 b1 3 a1 b2 6 b2 7a2 b3 8 b3 10a2 b3 8 b3 2R S R.B=S.B 另一种是自然连接。自然连接是一种特殊的等值连接,它要求两个另一种是自然连接。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。属性去掉。例例6 关系关系R、S的自然连结:的自然连结:R S 23/92 半连接半连
21、接 在在R R、S S自然连接后仅保留对自然连接后仅保留对R R的属性的投影,记为:的属性的投影,记为:R R S 例例7 关系关系R、S的半连接:的半连接:A B C Ea1 b1 5 3 a1 b2 6 7a2 b3 8 10a2 b3 8 2R S A B C a1 b1 5 a1 b2 6 a2 b3 8 R S24/92左外连接左外连接:对对R中任意元组,若中任意元组,若S中找不到匹配的元组,中找不到匹配的元组,则则S用空元组与之对应。用空元组与之对应。R的信息在左外连接的结果中都得到保留。的信息在左外连接的结果中都得到保留。左外连接左外连接 在在R R、S S自然连接时对不匹配的元
22、组用空值来匹配。有左外连接、右外自然连接时对不匹配的元组用空值来匹配。有左外连接、右外连接和全外连接之分连接和全外连接之分 例例8 关系关系EMP、SAL的左外连结:的左外连结:SALEMP上海上海邓平邓平长春长春李宏李宏大连大连王小王小北京北京张丽张丽CITYENAME3000赵刚赵刚5000王小王小6000张丽张丽SALARYENAME50006000SALARY上海上海邓平邓平长春长春李宏李宏大连大连王小王小北京北京张丽张丽CITYENAMEEMPSAL25/92右外连结右外连结:对对S中任意元组,若中任意元组,若R中找不到匹配的元组,中找不到匹配的元组,则则R用空元组与之对应。用空元组
23、与之对应。S的信息在右外连接的结果中都得到保留。的信息在右外连接的结果中都得到保留。右外连接右外连接例例9 关系关系EMP、SAL的右外连结:的右外连结:SALEMP上海上海邓平邓平长春长春李宏李宏大连大连王小王小北京北京张丽张丽CITYENAME3000赵刚赵刚5000王小王小6000张丽张丽SALARYENAMEENAMECITYSALARY张丽张丽北京北京6000王小王小大连大连5000赵刚赵刚NULL3000EMPSAL26/92全外连接全外连接:对对R或或S中所有不匹配的元组,均用空元组分中所有不匹配的元组,均用空元组分别匹配。别匹配。R、S的信息在全外连接的结果中都得到保留。的信息
24、在全外连接的结果中都得到保留。全外连接全外连接例例10 关系关系EMP、SAL的全外连结:的全外连结:SALEMP上海上海邓平邓平长春长春李宏李宏大连大连王小王小北京北京张丽张丽CITYENAME3000赵刚赵刚5000王小王小6000张丽张丽SALARYENAMEENAMECITYSALARY张丽张丽北京北京6000王小王小大连大连5000李宏李宏长春长春NULL邓平邓平上海上海NULL赵刚赵刚3000EMPSAL27/92c1b2a1c3b2a2c6b6a4c3b2a1c6b4a3c7b3a2c2b1a1CBARc3c1c2Cd2d1d1Db2b2b1BS例例 11 除运算除运算 给定关系
25、给定关系R(X,Y)和和S(Y,Z),其中,其中X,Y,Z为属性组。为属性组。R中的中的Y与与S中的中的Y可以有不同的属性名,但必须出自相同的域集。可以有不同的属性名,但必须出自相同的域集。R与与S的除运算得到一个新的除运算得到一个新的关系的关系P(X),P是是R中满足下列条件的元组在中满足下列条件的元组在X属性列上的投影:元组在属性列上的投影:元组在X上上分量值分量值x的象集的象集Yx包含包含S在在Y上投影的集合。记作:上投影的集合。记作:其中其中Yx为为x在在R中的象集,中的象集,x=tX。ZXY28/92 除运算除运算c1b2a1c3b2a2c6b6a4c3b2a1c6b4a3c7b3a
展开阅读全文