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

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

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

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

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

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

目录6.1物理存储磁盘6.1.2缓冲区管理6.1.3记录的存储6.1.3记录的存储块格式数据文件的重整超长记录和记录的跨块存储6.1.4文件组织方式6.2索引6.3查询处理过程例:求选修了课程C2的学生姓名。其SQL语句: SELECTS.Sname FROMS,SC WHERES.Sno=SC.SnoANDSC.Cno=‘C2’; 假定学生-课程数据库中有1000个学生记录,10000个选课记录,其中选修C2课程的选课记录为50个。 系统可用多种等价的关系代数表达式来完成这一查询: Q1=πSname(σS.Sno=SC.Sno∧SC.Cno=‘C2’(S×SC)) Q2=πSname(σSC.Cno=‘C2’(S∞SC)) Q3=πSname(S∞σSC.Cno=‘C2’(SC))Q1=πSN(σS.S#=SC.S#∧SC.C#=‘C2’(S×SC))2、作选择操作 依次读入连接后的元组,按照选择条件选取满足要求的记录,假定内存处理时间忽略。 这一步读取中间文件花费的时间需5×104秒(同写中间文件一样)。满足条件的元组假设仅50个,均可放在内存。 3、作投影操作 把第2步的结果在SN上作投影输出,得到最终结果。 内存操作,忽略。 Q1的查询代价≈2×(5×104)+105≈105秒1、计算自然连接 读取S和SC表的策略不变,总的读取块数仍为2100块花费105秒; 但自然连接的结果比第一种情况大大减少,为10000个; 平均每人选10门课,故写出这些元组时间104/10/20=50秒。 2、读取中间文件块,执行选择运算 花费时间也为50秒。 3、把连接结果投影输出 Q2的查询代价≈105+50+50≈205秒1、先对SC表作选择运算 只需读一遍SC表,存取10000/100块,花费时间为5秒。 满足条件的元组仅50个,存在内存中。 2、读取S表 把读入的S元组和内存中的SC元组作自然连接,也只需读一遍S表共1000/10块,花费时间为5秒。 3、把连接结果投影输出。 Q3的查询代价≈5+5≈10秒查询代价的比较优化规则6.4代数优化代数优化实例代数优化实例代数优化实例6.5物理优化