关系查询处理及其查询优化
关系查询处理及其查询优化
关系查询处理及其查询优化
第九章 关系查询处理及其查询优化
章
节
9.1 关系数据库系统的查询处理
关系数据库系统的查询优化
9.3 代数优化
9.
执行策略1
Q1= Пsname (=SC.Sno∧='2' (Student×SC))
① 计算笛卡尔积Student×SC
读取总块数= 读Student表块数 + 读SC表遍数*每遍块数
ﻩﻩ =1000/10+(1000/(10×5)) ×(10000/100)
=100+20×100=2100
读数据时间=2100/20=105秒
关系查询处理及其查询优化
关系查询处理及其查询优化
关系查询处理及其查询优化
中间结果大小 = 1000*10000 = 107 (1千万条元组)
写中间结果时间 = 10000000/10/20 = 50000秒
②做选择运算б
读数据时间 = 50000秒
③做投影运算П
总时间 =105+50000+50000秒 = 100105秒= 27.8小时
执行策略2
2。 Q2= ПSname(бSC.Cno=’ 2' (Student SC))
①计算自然连接
读取总块数= 2100块
读数据时间=2100/20=105秒
ﻩ中间结果大小=10000 (减少1000倍)
写中间结果时间=10000/10/20=50秒
②执行选择运算б
ﻩ读数据时间=50秒
③执行投影П
总时间=105+50+50秒=205秒分
执行策略3
3。 Q2= ПSname(StudentбSC。Cno=’ 2’ (SC))
①б
ﻩ读SC表总块数= 10000/100=100块
读数据时间=100/20=5秒
关系查询处理及其查询优化
关系查询处理及其查询优化
关系查询处理及其查询优化
中间结果大小=50条 不必写入外存
② 连接运算
ﻩ读Student表总块数= 1000/10=100块
读数据时间=100/20=5秒
③ 投影П
总时间=5+5秒=10秒
执行策略4
9. Q2= ПSname(Student ='2’ (SC))
假设SC表在Cno上有索引,Student表在Sno上有索引
①б
ﻩ读SC表索引Cno=‘2’的元组。
ﻩ读SC表总块数= 50/100<1块
读数据时间更小。
中间结果大小=50条 不必写入外存
②
读Student表索引
ﻩ读Student表总块数= 50/10=5块
读数据时间大大减少。
③ П
总时间<10秒
代数优化
。1 关系代数等价变换规则
关系查询处理及其查询优化
关系查询处理及其查询优化
关系查询处理及其查询优化
关系代数表达式等价
指用相同的关系代替两个表达式中相应的关系所得到的结果是相同的
两个关系表达式E1 和E2 是等价的,记为: E1≡E2
常用的等价变化规则有:
1. 连接、笛卡尔积交换律
ﻩﻩE1× E2≡ E2×E1
ﻩE1 E2≡E2 E1
ﻩE1 F E2≡E2 F E1
F为连接条件。
2。 连接、笛卡尔积的结合律
(E1×E2) × E3 ≡ E1 × (E2×E3)
(E1 E2) E3 ≡ E1 (E2 E3)
(E1 E2) E3 ≡ E1 (E2 E3)
ﻩ F F F F
3. 投影的串接定律
π A1,A2, L,An(π B1,B2, L,Bm(E))≡ π A1,A2, L,An (E)
假设:
1) E是关系代数表达式
2)ﻩAi(i=1,2,…,n), Bj(j=l,2,…,m)是属性名
3){A1, A2, …, An}构成{Bl,B2,…,Bm}的子集
9. 选择的串接定律
бF1 ( б F2(E))≡ бF1∧ F2(E)
关系查询处理及其查询优化
关系查询处理及其查询优化
关系查询处理及其查询优化
选择的串
关系查询处理及其查询优化 来自淘豆网m.daumloan.com转载请标明出处.