作者 林锦森 · 沃趣科技数据库技术专家
出品 沃趣科技
现在是时候将更多的关注从主体转移到执行计划给到我们的数字方面的信息。 在这个章节,我们将只研究优化器做出的预测(解释计划),推迟对实际运行时数据(v$sql_plan_statistics_all)的调查。 Getting Started 作为参考的例子,我们从一个非常简单的查询和计划开始:explain plan for
select
t1.id, t2.id
from
t2, t1
where
t2.n1 = 15
and t1.n1 = t2.n2
;
select * from table(dbms_xplan.display(null, null, 'projection'));
--------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 225 | 4500 | 35 (6)| 00:00:01 |
|* 1 | HASH JOIN | | 225 | 4500 | 35 (6)| 00:00:01 |
| 2 | TABLE ACCESS BY INDEX ROWID| T2 | 15 | 180 | 16 (0)| 00:00:01 |
|* 3 | INDEX RANGE SCAN | T2_I1 | 15 | | 1 (0)| 00:00:01 |
| 4 | TABLE ACCESS FULL | T1 | 3000 | 24000 | 18 (6)| 00:00:01 |
---------------------------------------------------