数据库知识点总结-第九章 关系查询处理和查询优化

9.1 查询处理步骤
1、查询分析
2、查询检查 (完整性检查是初步静态的,查询树)
3、查询优化(关键)
4、查询执行
9.1.2 算法示例
1、选择操作的实现
(1)简单的全表扫描算法
对于规模较小的表,选择率较低时简单有效。物理快-元组
(2)索引扫描算法
若选择条件的属性上有索引,索引—元组指针—元组
选择率较低时,索引扫描算法优于全表扫描
2、连接操作的实现
(1)嵌套循环算法
(2)排序合并算法:等值连接常用算法,适合已经排好序的情况
(3)索引连接算法
(4)hash join算法
9.2 关系数据库的查询优化
查询执行的开销:总代价=io代价+cpu代价+内存代价+通信代价。 一般用查询处理读写的块数衡量
9.3 代数优化
通过关系代数表达式的等价变换来优化
9.3.2 查询树的启发式优化
(1)选择运算尽可能先做
(2)把投影运算和选择运算同时进行
(3)把投影同其前或后的双目运算结合起来
(4)把某些选择同在它前面 要执行的笛卡尔积结合起来成为一个连接运算。
(5)找出公共子表达式
9.4 物理优化
(1)基于规则的启发式优化
对于小关系,使用全盘顺序扫描,即使选择列上有索引
对于大关系
(2)基于代价估算的优化
(3)两者结合的优化

习题知识点总结
1、对于大关系,选择条件为“主码=值”,则采用索引扫描
2、笛卡尔积,最费时间空间
3、索引:
可以建立索引的情况:不频繁更新,频繁排序分组的列可以建立索引,经常查询连接统计的表可以建立索引,经常用Where的可以建立索引
不适合建立索引的情况:经常插入删除的表
4、聚集索引
表中数据排列顺序和索引项的顺序保持一致。
5、嵌套循环连接算法逐个检查两个关系中的每一对元组,选用块数较小的表作外表比较好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

特卡的风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值