第四章全局查询处理和优化

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Optimization Timing Static – do it at compiling time by using statistics, appropriate for exhaustive search, optimized once, but executed many times. Dynamic – do it at execution time, accurate, repeated for every execution, expensive.
第四章 分布查询处理 和优化
Outline
§4.1 §4.2 §4.3 §4.4 §4.5 查询优化基础 查询处理概述 查询分解 数据本地化 片段查询的优化
§4.1查询优化的基础
1、优化目标 优化就是寻找执行代价(费用和时间)最小的查 询执行策略,使系统执行效率降到最低。因此, 优化的目标就是指局部执行代价和网络传输代价 的和最小。 (1)局部执行代价:主要指输入/输出次数 (I/O代价)及CPU处理代价。 (2)网络传输代价:主要指传输启动代价和数据 传输代价。
§4.1 查询优化的基础
用户或应用看到的是全局关系组成的全局数据库,用户通过 查询语言(通常用SQL语言操纵语言)来表达全局查询。之 后,由系统将其转换成等价的关系表达式内部表示,为描述 关系的操作序列,提出一种称查询树的内部表示方法。 1、关系代数 (1)一元运算 U:=σ(选择)/П(投影) (2)二元运算 b:=∞(联接)/X(笛卡儿积)/∪(并)/∩(交)/(差)/∝(半联接)
§4.4 查询优化的基础
2、查询树 在查询树中,叶子表 示关系,中间节点表 示运算,前序遍历关 系表示运算次序。 定义: ROOT:=T T:=R/(T) /TbT/UT U:=σF/ПA b: =∞/X/∪/∩//∝
§4.4 查询优化的基础
3、举例 例4.2.1 设有一供应关系数据库,有供应者和供应两关系,如下: 供应者:SUPPLIER{SNO,SNAME,AREA} 供应者编号 供应者姓名 供应者所属地域 供应:SUPPLY{SNO,PNO,QTY} 供应者编号 零件号 质量 查询要求:找出地域在″北方″供应100号零件的供应商的信息。 SQL查询语句:SELECT SNO,SNAME FROM SUPPLIER,SUPPLY WHERE AREA=″北方″AND PNO=100 AND SUPPLIER.SNO=SUPPLY.SNO
or algebra
Languages
For users: calculus languages. based
For query processor: map the input into internal form of algebra augmented with communication primitives.
§4.2.1 CHARACTERIZATION OF
QUERY PROCESSOR
Types of Optimization
Exhaustive search – workable for small solution space.
§4.2.1 CHARACTERIZATION OF
QUERY PROCESSOR
§4.1 查询优化的基础
2、执行策略 我们以一个例子来说明选择何种执行策略。 例4.1.1设有关系AB{A,B}和BC{B,C}, 分别有100和1000个元组。AB中有10个 元组为A=X,B是外来关键字。 要求:实现如下查询SQL功能。 SELECT * FROM AB,BC WHERE AB.B=BC.B AND A=″x″
Distributed query processor has to deal with query decomposition, and data localization
§4.2 Overview of Query Processing
• QUERY PROCESSING PROBLEMS Centralized query processor must - transform calculus query into algebra operation - choose the best execution plan Example: SELECT ENAME FROM E,G WHERE RESP = “Manager” and E.ENO=G.ENO
§4.2 Overview of Query Processing
N

§4.2 Overview of Query Processing
In DDB, the query processor must consider the communication cost and select the best site! Same query as the example above, but G and E are distributed. Simple plan: to transport all segments to query site and execute there. This causes too much network traffic, very costly.
§4.4 查询优化的基础
3、举例 等价的关系表达式: Q1:ПSNO,SNAMEσAREA=″北方″σPNO=100 (SUPPLIER∞SUPPLY) 查询树:
§4.2 Overview of Query Processing
通常用SQL语言操纵语言来表达全局查询。之后, 由系统将其转换成内部表示。实际上,在查询执 行过程时,最终涉及的是具体场地上的物理关系 的查询。影响查询处理效率的因素有:网络传输 代价(数据量和延迟等)、局部I/O代价及CPU 使用情况代价等,但主要由网络通信代价和局部 I/O代价来衡量。不同的分布式数据库系统可能对 评估查询处理的传输代价和I/O代价的侧重不同, 同时,为提高查询的效率,在查询处理过程中还 要进行优化处理,查询优化就是确定出一种执行 代价最小的查询执行策略或寻找相对较优的操作 执行步骤。一般可采用多级优化。本章介绍全局 查询的处理与优化。
§4.2.2 LAYERS OF QUERY PROCESSING
CALCULUS QUERY ON DISTRIBUTED RELATIONS QUERY DECOMPOSITION ALGEBRA QUERY ON DISTRIBUTED RELATIONS CONTROL SITE DATA LOCALIZATION FRAGMENT QUERY GLOBAL OPTIMIZATION OPTIMIZED FRAGMENT QUERY WITH COMMUNICATION OPERATIONS LOCAL SITE LOCAL OPTIMIZATION OPTIMIZED LOCAL QUERY
ຫໍສະໝຸດ Baidu §4.1查询优化的基础
2、执行策略-例4.1.1 等价变换 与SQL等价的关系代数表达式:σA=″x″(AB∞BC) 实现的方法及其代价分析 假设:只考虑局部I/O次数代价。 •策略1: T1:T1=AB∞BC T2:σA=″x″(T1) 分析: T1:需100(AB元组数)*1000(BC元组数)=105(次 I/O),T1的元组数为105 T2:需105(T1元组数)次I/O 总代价:T1的代价+T2的代价=2*105(次I/O)
§4.2 Overview of Query Processing
§4.2 Overview of Query Processing
§4.2 Overview of Query Processing
Query processor transforms queries into procedural operations to access data.
§4.4 查询优化的基础
(2)等价变换 重复律:UR ≡ UUR 交换律:U1U2R ≡ U2U1R 分配律:U(RbS)≡(UR)b(US) 结合律:Rb1(Sb2T)≡ (Rb1S)b2T 提取律:(UR)b(US) ≡ U(RbS) 其中:R、S、T为关系,U1、U2、U为一元运算符 ,b1、b2、 b为二元运算符。
§4.2.1 CHARACTERIZATION OF
QUERY PROCESSOR
Exploration of the Network Topology WAN – communication cost is dominant LAN – communication cost is comparable to I/O cost. Broadcasting capability, star network, satellite network should be considered. Exploration of Replicated Fragments Use replications to minimize communication costs. Use of Semijoins Reduce the size of operand relations to cut down communication costs
§4.2 Overview of Query Processing
Distributed query example
§4.2 Overview of Query Processing
Distributed query example

§4.2.1 CHARACTERIZATION OF
QUERY PROCESSOR
§4.1 查询优化的基础
2、执行策略-例4.1.1 策略2: T1:T1=σA=″x″(AB) T2:T1∞BC 分析: T1:需100(AB元组数)次I/O,得:T1的元组数为10 T2:需10(AB元组数)*1000(BC元组数)=104(次 I/O) 总代价:100+104≈104(次I/O) 从上述两种策略看,虽然都能实现所要完成的功能,但两种实 现方法所须的代价却相差很大。若是分布式系统的多用户、多 应用需求的复杂任务,采用不同的实现策略会相差更大,将直 接影响整个系统整体性能。因此,确定出一种执行代价最小的 查询执行策略是分布式数据库系统必须重视的一因素。
SQL - nonprocedural language of RDB Tuple calculus where t: tuple variable, F(t): wellformed formula(wff), Example: get the no. and name of all managers
§4.2.1 CHARACTERIZATION OF
QUERY PROCESSOR
Statistics
Facts of cardinalities, attribute value distribution, size of relation, etc. provided to query optimizer and periodically updated. Decision Site For query optimization, it may be done by single site – centralized approach, or all the sites involved – distributed, or Hybrid – one site makes major decision in cooperation with other sites making local decisions
§4.1查询优化的基础
3、优化内容 优化内容体现如下几点: (1)执行运算的次序。 (2)执行每种运算的方法。如上例,不同方法代价 不同。 (3)所访问的副本场地。如:选择就近的场地,节 约传输代价。 (4)执行运算的场地的选择。使总的传输代价或总 代价最低。 综合考虑,确定出一种执行代价最小的查询执行策略。
相关文档
最新文档