关于 Oracle 中执行计划稳定性深入研究
什么是执行计划
所谓执行计划,顾名思义,就是对一个查询任务,做出一份怎样去完成任务的详细方
案。 举个生活中的例子,我从珠海要去英国,我可以选择先去香港然后转机,也可以先去
北京转机,或者去广州也可以。但是到底怎样去英国划算,也就是我的费用最 少,这是一
件值得考究的事情。同样对于查询而言,我们提交的 SQL 仅仅是描述出了我们的目的地是
英国,但至于怎么去,通常我们的 SQL 中是没有给出提示信 息的,是由数据库来决定的。
我们先简单的看一个执行计划的对比:
SQL> set autotrace traceonly
执行计划一:
SQL> select count(*) from t;
COUNT(*)
----------
24815
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'T'
执行计划二:
SQL> select count(*) from t;
COUNT(*)
24815
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE
(Cost=26 Card=1)
评论0
最新资源