数据库作业19

本文详细解析了数据库查询处理的各个案例,包括全盘扫描、索引扫描、嵌套循环连接、排序合并连接等,涉及关系R和S的操作,并讨论了不同查询条件下磁盘块读写次数的估算。同时,针对学生-课程数据库,展示了关系代数表达式的语法树优化处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第九章: 关系查询处理和查询优化 课后习题

  1. 假设关系R(A,B)]和S(B,C,D)情况如下:R有20000个元组,S有1200个元组,一个块能装40个R的元组,能装30个S的元组,估算下列操作需要多少次磁盘块读写。
    (1)R上没有索引,select * from R;
    简单地全盘扫描
    解:20000/40=500(次),读写应该是一共1000次
    (2)R中A为主码,A有三层B+树索引,select * from R where A=10;
    扫描索引算法:通过索引先找到满足条件的元组指针,再通过元组指针在表中检索。
    解:cost=L+1,L是B+树的层数
    一个块能装40个R的元组,层数最小的情况:
    20000/40=500
    500/40=12.5
    13<40…刚发现好像没必要写这个
    也就是三层,L=3
    所以需要4次
    (3)嵌套循环连接 R ⋈ S R \Join S

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值