分布式数据库中的查询处理和优化..pptVIP

  • 46
  • 0
  • 约5.51千字
  • 约 29页
  • 2020-01-30 发布于湖北
  • 举报
第三章 分布式数据库中的查询处理和优化 2008.9 第三章 分布式数据库中的查询处理和优化 分布式查询优化概述 分布式查询优化中的基础知识 分布式查询优化的分类与层次结构 基于关系代数等价变换的查询优化处理 基于半连接的查询优化处理 基于直接连接算法的查询优化处理 分布式查询优化概述 分布式查询优化的目标 分布式查询优化的准则和代价估算 分布式查询策略的重要性 分布式查询优化的目标 总代价最小(CPU代价、I/O代价、网络传输代价) 每个查询的查询响应时间最短 分布式查询优化的准则和代价估算 查询优化准则 通信费用最低:通信费用与所传输的数据量和通信次数成正比 响应时间最短:从接收查询到完成查询所需要的时间,既与通信时间有关,也与局部处理时间有关 查询代价分析 远程通信网络中,各站点间数据传输速率比单机中内存与磁盘的数据传输速率慢很多倍,因此本地处理时间可以忽略不计,减少通信代价成为主要目标 高速局域网中,传输时间比局部处理时间短很多,局部处理时间是关键 分布式查询优化的准则和代价估算(续) 查询代价估算 查询执行的预期代价QC,则 集中式:QC=I/O代价+CPU代价 分布式: QC=I/O代价+CPU代价+通信代价 通信代价TC(X)=C0+C1*X X是传输量,以bit为单位,C0是两点间一次通信初始化所花费的时间,近似一个常数,以秒为单位;C1为传输率(传输速率的倒数),即:单位数据传输的时间,单位是b/s。 分布式查询策略的重要性 查询优化包括 查询策略优化 局部处理优化 例: 在教学数据库中,有 S(S#,SNAME,AGE,SEX)有10000元组,在站点A存放 C(C#,CNAME,TEACHER)有100000元组,在站点B存放 SC(S#,C#,GRADE)有1000000元组,在站点A存放 假设每个元组为100b,通信系统的传输速率为1000b/s,通信延迟时间为1s 问题:查找所有选修’MATHS’课的男学生的学号和姓名 在分片透明性的DDBMS的支持下,SQL语句为: SELECT S#,SNAME FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=‘M’ AND CNAME=‘MATHS’ 通信代价的估算公式: T=传输延迟时间C0+(传输的数据量X*数据传输率C1) =(传输次数*1)+(传输的bit数/1000) 该查询可以有6种不同的查询策略 策略1:把关系C传输到A站点,在A站点处理查询 T1=1+(10000*100/1000)秒=16.7分钟 策略3:在A站点查询出男学生的成绩元组,有100000满足条件的元组,再将每个元组的C#的值传输到B站点,从中核实C=‘MATHS’是否满足,将结果传回A站点。 T3=(2*100000*1+100/1000)秒=23天 策略5:在A站点查询出男学生的选课元组,有100000满足条件的元组,再将结果传输到B站点,在B站点查找满足C=‘MATHS’的元组。 T5=1+(100000*100/1000)秒=16.7分钟 3.2 分布式查询优化基础知识 用关系代数表达式和SQL语句表示一个查询 查询树 等价变换规则的概念和术语 等价变换规则 用关系代数表达式和SQL语句表示一个查询 用SQL表示一个查询:select语句,例如:教学数据库中,查找选修课程号为’C03’的学生姓名 SELECT SNAME FROM S,SC WHERE S.S#=SC.S# AND C#=‘C03’ SELECT SNAME FROM S WHERE S.S# IN (SELECT SC.S# FROM SC WHERE C#=‘C03’) 用关系代数表达式表示一个查询 关系代数的五种基本运算:并(∪)、交( ∩ )、笛卡尔积( × )、选择( σ )、投影( π ) 关系代数的基本导出操作:差(-)、除(÷)、 θ连接(∞θ)、自然连接(∞)、半连接(∝) 例如:教学数据库中,查找选修课程号为’C03’的学生姓名 用关系代数表达式表示为 E1= πsname( σs.s#=sc.s#∧sc.c#=‘c03’(s ×sc)) E2= πsname( σs.s#=sc.s# (s × (σsc.c#=‘c03’(sc)))) E3= πsname( s ∞(σsc.c#=‘c03’(sc))) E1效率最差,E3效率最高,E2效率居中 查询树 查询树的叶节点是已知的关系,中间节点是关系代数操作符,树的根是查询结果。 等价变换规则的概念和术语 关系代数表达式的等价 两个关系代数表达式E1和E2等价是指:用相同的关系代替两个表达式中相应的关系时,所得到的结果是一样的,称关系代数表达式E1

文档评论(0)

1亿VIP精品文档

相关文档