第四章分布查询处理和优化分布式数据库系统原理与应用第四章分布查询处理和优化第四章分布查询处理和优化主要内容查询处理基础查询处理器查询分解数据局部化片段查询的优化第四章分布查询处理和优化优化目标优化就是寻找执行代价(费用和时间)最小的查询执行策略,使系统执行效率降到最低
优化的目标就是指局部执行代价和网络传输代价的和最小
局部执行代价:主要指输入/输出次数(I/O代价)及CPU处理代价
网络传输代价:主要指传输启动代价和数据传输代价
1查询处理的基础第四章分布查询处理和优化影响查询处理效率的因素有:网络传输代价(数据量和延迟等)、局部I/O代价及CPU使用情况代价等,但主要由网络通信代价和局部I/O代价来衡量
不同的分布式数据库系统可能对评估查询处理的传输代价和I/O代价的侧重不同
1查询处理目标第四章分布查询处理和优化4
2查询优化的意义例1:求选修2号课程的学生姓名SQL表示:selectSnamefromStudents,SCwhereStudents
Sno=SC
SnoandCno=‘2’;关系代数表示:Q1=sname(Students
Sno=SC
SnoandCno=‘2’(StudentsSC))Q2=sname(Cno=‘2’(StudentsSC))Q3=sname(StudentsCno=‘2’(SC))第四章分布查询处理和优化代价计算Q1代价计算(仅考虑I/O代价)计算广义笛卡尔积代价-假定:在内存中,存放5块Students元组和一块SC元组,一块可以装10个Students元组或100个SC元组
-假定:Students有1000个元组,SC有10000个元组,其中选2号课程的有50个元组-数据只有读到内存才能进行连接Q1=sname(Students
Sno=SC
SnoandC