Oracle技术之如何使用ordered提示改变SQL执行计划
2013-07-17 09:47
1116 查看
ORDERED提示强制Oracle按照From子句中表出现的顺序进行表连接。
通过ordered提示,可以避免CBO SQL解析过程中的表连接评估,从而避免Oracle产生错误的执行计划,或者强制Oracle按照我们指定的方式执行。
在很多时候,当我们清楚地了解数据结构和数据分布之后,就可以通过ORDERED提示来提高SQL性能。
通过以下例子我们来说明一下Ordered提示的作用.
1.不加Hints时SQL的执行计划
我们可以通过10053事件跟踪一下该SQL的解析:
查看Trace文件可以看到,Oracle需要进行3! (6)次表连接顺序的评估:
2.当我们使用Ordered提示之后
SQL的执行计划如下(from子句后的表顺序作了调整):
再看10053的跟踪Trace文件:
Oracle只需要按照表在From子句中的出现顺序进行连接,从而按照我们的意图进行解析或执行.
这就是Ordered提示的基本作用,本例只是一个示范说明,后者的执行计划使得Cost激增,在实际应用中,我们当然是不希望看到此类增长的.
通过ordered提示,可以避免CBO SQL解析过程中的表连接评估,从而避免Oracle产生错误的执行计划,或者强制Oracle按照我们指定的方式执行。
在很多时候,当我们清楚地了解数据结构和数据分布之后,就可以通过ORDERED提示来提高SQL性能。
通过以下例子我们来说明一下Ordered提示的作用.
1.不加Hints时SQL的执行计划
我们可以通过10053事件跟踪一下该SQL的解析:
查看Trace文件可以看到,Oracle需要进行3! (6)次表连接顺序的评估:
2.当我们使用Ordered提示之后
SQL的执行计划如下(from子句后的表顺序作了调整):
再看10053的跟踪Trace文件:
Oracle只需要按照表在From子句中的出现顺序进行连接,从而按照我们的意图进行解析或执行.
这就是Ordered提示的基本作用,本例只是一个示范说明,后者的执行计划使得Cost激增,在实际应用中,我们当然是不希望看到此类增长的.
相关文章推荐
- 如何使用ordered提示改变SQL执行计划
- 如何使用ordered提示改变SQL执行计划
- 如何使用ordered提示改变SQL执行计划
- ORACLE用ORDERED提示改变SQL执行计划
- Oracle技术之如何干预执行计划--使用hints提示
- 使用Oracle SQL Developer连接数据库时,提示“执行请求的操作时遇到错误:IO 错误: The Network Adapter could not establish”,不知如何处理
- oracle--如何干预执行计划(使用hints提示)
- oracle--如何干预执行计划(使用hints提示)
- oracle--如何干预执行计划(使用hints提示)
- oracle--如何干预执行计划(使用hints提示)
- Oracle技术之如何使用Leading提示改变表连接方式
- oracle--如何干预执行计划(使用hints提示)
- oracle如何干预执行计划-使用hints
- 如何查看oracle sql执行计划
- ORACLE如何在有视图的SQL中使用hint(提示)来设置视图内的SQL查询方式
- 如何分析ORACLE的SQL执行计划
- 使用hint改变SQL执行计划的方法
- 查看Oracle执行计划的几种方法 / oracle中DateTime类型的字段,建立索引后,查寻时索引如何生效?/ oracle 中sql语句怎么加多个强制索引
- 如何查看oracle sql执行计划
- Oracle HowTo:如何使用Leading提示改变表连接方式