关注公众号凡花花的小窝,收获更多的考研计算机专业编程相关的资料
9.4 物理优化
代数优化改变查询语句中操作的次序和组合,不涉及底层的存取路径。对于一个查询语句有许多存取方案,它们的执行效率不同, 仅仅进行代数优化是不够的 。物理优化就是要选择高效合理的操作算法或存取路径,求得优化的查询计划
选择的方法:
基于规则的启发式优化
基于代价估算的优化
两者结合的优化方法
9.4.1 基于启发式规则的存取路径选择优化
一、 选择操作的启发式规则
二、 连接操作的启发式规则
一、 选择操作的启发式规则:
1. 对于小关系,使用全表顺序扫描,即使选择列上有索引
对于大关系,启发式规则有:
2. 对于选择条件是主码=值的查询
查询结果最多是一个元组,可以选择主码索引
一般的RDBMS会自动建立主码索引。
3. 对于选择条件是非主属性=值的查询,并且选择列上有索引
要估算查询结果的元组数目
如果比例较小(<10%)可以使用索引扫描方法
否则还是使用全表顺序扫描
4. 对于选择条件是属性上的非等值查询或者范围查询,并且选择列上有索引
要估算查询结果的元组数目
如果比例较小(<10%)可以使用索引扫描方法
否则还是使用全表顺序扫描
5. 对于用AND连接的合取选择条件
如果