预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共58页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第九章关系查询处理和查询优化授课内容9.1关系数据库系统的查询处理查询处理步骤查询处理步骤查询处理步骤查询处理步骤查询处理步骤实现查询操作的算法示例选择操作的实现选择操作的实现连接操作的实现连接操作的实现连接操作的实现连接操作的实现连接操作的实现9.2关系数据库系统的查询优化关系数据库系统的查询优化关系数据库系统的查询优化关系数据库系统的查询优化9.3代数优化代数优化关系代数的等价变换规则关系代数的等价变换规则关系代数的等价变换规则关系代数的等价变换规则关系代数的等价变换规则关系代数的等价变换规则关系代数的等价变换规则关系代数的等价变换规则关系代数的等价变换规则查询树的启发式优化查询树的启发式优化查询树的启发式优化查询树的启发式优化查询树的启发式优化查询树的启发式优化查询树的启发式优化查询树的启发式优化查询树的启发式优化查询树的启发式优化查询树的启发式优化关系代数的等价变换规则练习练习连接操作的实现连接操作的实现关系数据库系统的查询优化关系数据库系统的查询优化关系数据库系统的查询优化关系数据库系统的查询优化Sname(Studnet.Sno=SC.SnoSC.Cno=’2’(Studnet×SC)) ①Student×SC 第一遍:读5块Student,按块读SC读100块。 读取块数:5+100 要处理20遍 读取总块数:20×(5+100)=2100 读数据时间:2100/20=105秒 中间结果大小:1000*10000=107 写中间结果时间107/10/20=50000秒 ②б:读数据时间=50000秒.结果50个元组。 ③П:时间忽略。 总时间:105+50000+50000秒=100105秒=27.8小时Sname(SC.Cno=’2’(Student∞SC)) ①Student∞SC 第一遍:读5块Student,按块读SC读100块。 读取块数:5+100 要处理20遍 读取总块数:20×(5+100)=2100 读数据时间:2100/20=105秒 中间结果大小:10000 写中间结果时间10000/10/20=50秒 ②б:读数据时间=50秒。结果50个元组。 ③П:时间忽略。 总时间:105+50+50秒=205秒=3.4分Sname(Student∞SC.Cno=’2’(SC)) ①б: 读SC表总块数:10000/100=100块 读数据时间:100/20=5秒 中间结果大小:50条,不必写入中间文件 ②∞: 读Student表总块数:1000/10=100块 读数据时间:100/20=5秒 ③П:时间忽略。 总时间:5+5秒=10秒Q1=Sname(Studnet.Sno=SC.SnoSC.Cno=’2’(Studnet×SC)) Q2=Sname(SC.Cno=’2’(Student∞SC)) Q3=Sname(Student∞SC.Cno=’2’(SC)) 把代数表达式Q1变换为Q2、Q3, 即有选择和连接操作时,先做选择操作,这样参加连接的元组就可以大大减少,这是代数优化 在Q3中 SC表的选择操作算法有全表扫描和索引扫描2种方法,经过初步估算,索引扫描方法较优。 对于Student和SC表的连接,利用Student表上的索引,采用indexjoin代价也较小,这就是物理优化