查询处理概述
集中式数据库查询优化
查询优化问题的提出
关系代数等价变换
查询优化策略
关系代数查询优化实例
查询优化的一般步骤
第7章分布式查询处理和优化
分布式数据库查询优化
分布式查询优化问题提出
查询优化的目标与代价估算
DDBS查询分类与层次结构
基于关系代数等价变换的查询优化
基于半连接算法的查询优化
基于直接连接的查询优化
1
查询处理(query processing)是指从数据库中提取数据的一系列活动。主要包括:
将用高层数据库语言(SQL)表示的查询语句翻译为能在文件系统这一物理层次上实现的表达式
为优化查询而进行各种转换
查询的实际执行
§
2
查询处理过程包括:语法分析与翻译、查询优化和查询执行
§
3
§
语法分析与翻译器
查询处理开始之前,系统必须将查询语句翻译成可使用的形式。
语法分析与翻译阶段的主要工作有:
检查用户查询的语法,利用数据字典验证查询中出现的关系名、属性名等是否正确;
构造该查询语句的语法分析树表示,并将其翻译成关系代数表达式。
4
§
查询执行计划与查询优化器
一个给定的查询任务,一般都会有多种计算结果的方法。如,考虑如下查询
求选修了2号课程的学生姓名,SQL语句
Select sname from s,sc
where = AND o=‘2’
等价关系代数表达式如下:
Q1=Пsname ( = ^ o=‘2’(S X SC))
Q2= Пsname ( o=‘2’(S |><| SC) )
Q3= Пsname (S |><| o=‘2’( SC) )
5
§
查询执行计划与查询优化器
执行一个查询,不仅需要提供关系代数表达式,还要对该表达式加上注释来说明如何执行每个操作。加了“如何执行”注释的关系代数运算称为执行原语,用于执行一个查询的原语操作序列称为查询执行计划。
不同的查询执行计划会有不同的代价。构造具有最小查询执行代价的查询执行计划应当是DBMS的责任。这项工作称为查询优化,由查询优化器来完成。
查询优化是影响RDBMS性能的关键因素。
6
§
查询执行引擎
查询执行引擎根据输入的查询执行计划,调用相关算法实现查询计算,并将计算结果返回给用户。
有效地对内存缓冲区进行管理是影响查询执行性能的非常重要的方面。
7
查询优化是为查询选择最有效的查询执行计划的过程,包括:
代数优化:力图找出与给定关系代数表达式等价的但执行效率更高的一个表达式。
查询语句处理的详细策略的选择,例如选择执行运算所采用的具体算法,选择将使用的特定索引等等。
§
8
§
集中式
查询转换为代数表达式
从所有等价表达式中选择最优的代数表达式
分布式
除了集中式问题外,还有
站点之间交换数据的操作
选择最优的执行站点
数据被传送的方式
9
LDBMS.
LDBMS
DB
DB
本地模式.
全局模式
本地模式
全局模式
全局模式
全局模式
用户
用户
用户
用户
site1
site2
site3
10
高级数据库技术(7)分布式查询处理和优化 来自淘豆网m.daumloan.com转载请标明出处.