《数据库系统概论》课程学习(9)——第九章 关系查询处理和查询优化

查询操作的实现

1、选择操作:

  • 简单的全表扫描:顺序扫描,逐一检查每个元组;
  • 索引(散列)扫描:选择条件有索引,可按索引扫描,用指针取元组;
  • 对形如“条件1 and 条件2”选择的处理:  

① 分别检索满足条件1的元组指针和满足条件2的元组指针,然后求两指针集合的交集,按交集指针取元组;  

② 先检索满足条件1的元组指针集合,再在该结果集合中检索满足条件2的元组;  

③ 全表扫描,直接检索出满足条件的元组。

2、连接操作:

  • 嵌套循环法:对外层的每一个元组,检索内层的每一个元组;
  • 排序合并法:对连接属性排序,然后进行归并;
  • 索引连接法:若连接属性有索引,则直接进行归并。若没有则建立;
  • 散列连接法:将连接属性散列到一个桶中,再进行连接。

查询优化

关系代数等价变换

查询的启发式优化

基于启发式规则的查询物理优化

1、选择操作的启发式规则

  • 对于小关系使用全表顺序扫描,即使有索引;
  • 对于选择条件为主码的等值查询,选择主码索引检索;
  • 对于选择条件为非主码的值比较查询,并且选择列上有索引,则要估算结果的元组数目,若数目较少,则在索引上检索,否则在全表上检索;
  • 对于用and连接的查询条件,若有涉及属性的组合索引,则优先采用组合索引检索;若只是某些属性上有索引,可采用选择操作的三种实现方法之一进行,否则采用全表检索;
  • 对于用or连接的查询条件,一般使用全表顺序扫描。

2、连接操作的启发式规则

  • 若两个表都已按连接属性排序,则选用排序合并法;
  • 若一个表在连
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值