数据库-物理优化

物理优化

物理优化就是要选择高效合理的操作算法或者存取路径,求得优化的查询计划,达到查询优化的目标。
选择的方法可以是:
1.基于规划的启发式优化。启发式规则是指那些在大多数情况下都适用,但不是在每种情况下都是最好的规则。
2.基于代价估算的优化。使用优化器估算不同执行策略的代价,并选出具有最小代价的执行计划。
3.二者结合的优化方法。查询优化器通常会把这二种技术结合在一起使用,因为可能执行的策略很多,要穷尽所有策略进行代价估算往往是不可行的,会造成查询优化本身付出的代价大于获得的益处。

基于启发式规则的存取路径选择优化

1.对于小关系,使用全表顺序扫描,即使选择列上有索引。
对于大关系,启发式规则有:
(1):对于选择条件是“主码=值”的查询,查询结果最多一个元组,可以选择主码索引。一般关系数据库管理系统会自动建立主码索引。
(2):对于选择条件是“非主属性=值”的查询,并且选择列上有索引,则要估算查询结果的元组数目,如果比例较小,小于10%可以使用索引扫描算法,否则使用全表顺序扫描方法。
(3):对于选择条件是属性上的非等值查询或者范围查询,并且选择列上有索引,同样要估算查询结果的元组数目,如果选择率<10%可以使用索引扫描方法,否则还是使用全表顺序扫描。

(4):对于用AND连接的合取选择条件,如果涉及这些属性的组合索引,则优先采用组合索引扫描方法,如果这些属性上有一般索引,则可以用一般的索引扫描方法,否则使用全表顺序扫描。

(5):对于用or连接的析取选择条件,一般使用全表顺序扫描。

连接操作的启发式规则

1:如果二个表都已经按照连接属性排序,则选用排序-合并算法。

2:如果一个表连接属性上有索引,则可以使用索引连接算法。

3:如果上面二个规则都不适用,其中一个表较小,则可以使用hash join算法。

4:最后可以选择使用嵌套循环算法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值