使用hint可以根据提供的查询的原则,优化SQL性能..
有时候可以非常的明显
在PL/SQL的explain模式下,可以发现使用适当的hint可以把复杂查询的
从原来的fulltable scan 变为 index range scan,
PL/SQL的sqlwindow下实际运行优化后的复杂查询
有时可以把5分钟都没出来的结果(fulltable scan )只用10多秒(index range scan)就出来了
优化器模式
rule模式
。总忽略CBO和统计信息而基于规则
choose模式
。Oracle根据情况选择rule or first_rows or all_rows
first_rows 模式
。基于成本,以最快的速度返回记录,会造成总体查询速度的下降或消耗更多的资源,倾向索引扫描,适合OLTP系统
all_rows模式
。基于成本,确保总体查询时间最短,倾向并行全表扫描
例如:
Select last_name from customer order by last_name;用first_rows时,迅速返回记录,但I/O量大,用all_rows时,返回记录慢,但使用资源少。