第4章关系系统及其查询优化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

代价分析1:Q1
对于Q1,假设读取表的策略为:一个块能装10个Student元组或100个 SC元组,在内存中存放5块Student元组和1块SC元组,每秒读写20块。
1、计算笛卡尔积:

读SC表20遍,
读 需读取取所总有块数数据为1库00记+ 录20*到10内0 =存21所00需块,时总间计:花S表费tu102d01e块0n0t /20=10每5秒遍100块
4.1.2 关系系统的分类
M S
表式关系:
仅支持关系数据结构,不支持集合操作, 如倒排表列
SM
最小关系系统:

仅支持关系数据结构和三种关系操作,如
FoxBASE, FoxPro
关系完备的系统
支持关系数据结构和所有的关系代数操作, 如DB2, Oracle, Sybase, Informix等
因此,忽略内存代价,执行Q1的总时间约为105+2*5*104秒
代价分析2:Q2
1、计算自然连接 需要读取的总块数和花费的时间为仍为 2100块和105秒 自然连接后生成的元组数为104个,设每块能装10个元组,
则计算完自然连接后将这些块从内存写到中间文件时间均 为104/10/20=50秒。 2、选择操作 需要将连接后的结果从中间文件读入内存,需要的时间同 样为50秒。 3、投影操作:时间可以忽略 因此,忽略内存代价,执行Q1的总时间约为105+2*50 = 205秒
SQL:
SELECT Sname
FROM Student, SC WHERE Student.Sno = SC.Sno AND SC.Cno = ‘2’;
关系代数:
Q1 ( Sname Student.Sno SC.Sno SC.Cno '2' (Student SC))或 Q2 ( Sname SC.Cno '2' (Student SC))或 Q3 Sname (Student SC.Cno '2' (SC))
4.1.1 关系系统的定义
一个系统可以定义为关系系统,当且仅当它:
1、支持关系数据库(关系数据结构)
2、支持选择、投影和(自然)连接运算,且 对这些运算不必要求定义任何物理存储路径
而由系统自动选择, 保证物理独立性
能方便用户的、 最有用的运算, 有利于提高性能
这是关系系统的最小要求,许多实际系统都不同程度地超过了这些要求
能 6. 视图更新准则:理论上可更新的视图应允许由系统更新 7. 支持以关系为对象的高级插入、删除和更新操作 8. 数据物理独立性 9. 数据逻辑独立性 10. 数据完整性的独立性,完整性条件的定义独立于应用程序 11. 分布独立性,数据的重新分布独立于应用程序
4.2 关系系统的查询优化
4.2.1关系系统及其查询优化
查询优化的一般步骤
将查询转换成某种内部表示,如语法树
语法树有多种形式,如关系代数语法树。
将语法树转换成标准(Leabharlann Baidu化)形式:
优化器将应用等价转换规则反复地(通过内部的循环算法)对查询表 达式进行尝试性转换,将原始的语法树转换成“优化”的形式。
选择低层的存取路径:
根据数据字典中的存取路径、数据的存储分布以及聚簇情况等信息来 选择具体的执行算法,进一步改善查询效率。
第4章关系系统及其查询优化
4.1 关系系统
关系系统与关系模型是密切相关而又不同的两个概念 关系系统笼统地定义为支持关系模型的DBMS 由于关系模型的三个组成部分并不是同等重要,实际
产品中的侧重有所不同 思考:什么样的系统可以定义为关系系统?
支持关系模型的数据库管理系统是关系系统? 一个实际的关系系统必须完全支持关系模型? 只有完全支持关系模型的系统才能称为关系系统?
说明
查询处理是RDBMS的核心,而查询优化技术是查询处理的 关键技术
用户只需提出“做什么”,不必说明“怎么做”
查询优化的目标
SQL、关系 代数等表达式
选择有效的策略,求得给定表达式的值
查询优化的优点
使得用户在表达查询时不必考虑查询效率问题
RDBMS将通过优优化化器器可(O以p做ti什m么iz?er)自动进行查询优化
可见,同样的查询通过不同的执行过程,其效率相差很大, 因此有必要进行查询优化。
生成由一系列内部操作组成的查询执行方案,选 择代价最小目前的商品。化RDBMS大都采用基于代价的优化算法
多用户环境下总代价=I/O代价+CPU代价+内存代价
4.2.2 一个实例
例子:求选修了2号课程的学生姓名
假设:学生-课程数据库中有1000个学生记录,10000个选课记录,其中选修2号课程 的选课记录为50个
全关系系统:
完全地支持关系模型的所有特征
是一个目标,有一套参考准则(12条)
SM I

M S

用阴影表示支持程度
全关系系统的12条基本准则
0. 基础准则:必须能完全通过其关系能力管理数据库 1. 信息准则:所有信息都能用表中的值显式地表示,包括元数
据 2. 保证访问准则:保证数据库中的每个数据项都能被访问到 3. 空值的系统化处理:支持空值概念,并能处理空值 4. 联机数据字典:授权用户能够查询数据库的描述信息 5. 统一的数据子语言,且具有定义、操纵、授权、事务处理功
代价分析3:Q3
1、选择运算 先对SC表作选择运算,只需读一遍SC表,存取100块花
费时间为100/20=5秒。因为满足条件的元祖仅50个,不 必使用中间文件。 2、自然连接 读取Student表,把读入的Student元组和内存中的SC元组 作连接。也只需读一遍Student表共100块花费时间为5秒 3、投影运算:时间可以忽略 因此,忽略内存代价,执行Q1的总时间约为5+5 = 10秒
从内存写到中间文件读取笛卡儿积所需时间:
计算笛卡尔积后生成元组数为103*104=107个。设每块能装10个元组, 则将积结果块从内存写到中间文件为107/10/20=5*104秒
2、选择操作
需要将笛卡尔积结果块从中间文件读入内存,需要的时间 同样为107/10/20=5*104秒。
3、投影:假设选择操作后得到的结果仅50个元组,最后在 此基础上作投影操作,时间可以忽略。
相关文档
最新文档