2017-06-21 4 views
0

私は、以下に示すEXPLAIN PLANを使用して次の問合せを実行しています。Oracle Explain Planでの一貫性のない時間

クエリには2.3秒かかります。

しかし、EXPLAIN PLANのは、午後12時10分06秒秒

どれ理由

= INDEX FAST FULL SCANショーの時間を示して?

select count(*) from c1 
COUNT(*) 
---------- 
    68656440 

Elapsed: 00:00:02.31 

Execution Plan 
---------------------------------------------------------- 
Plan hash value: 2610173813 

------------------------------------------------------------------------- 
| Id | Operation    | Name | Rows | Cost (%CPU)| Time  | 
------------------------------------------------------------------------- 
| 0 | SELECT STATEMENT  |   |  1 | 50450 (1)| 00:10:06 | 
| 1 | SORT AGGREGATE  |   |  1 |   |   | 
| 2 | INDEX FAST FULL SCAN| PF_TEST | 83M| 50450 (1)| 00:10:06 | 
------------------------------------------------------------------------- 

Note 
----- 

- この文のために使用される動的サンプリング(レベル= 2)

統計


 0 recursive calls 
     0 db block gets 
185865 consistent gets 
185820 physical reads 
     0 redo size 
    529 bytes sent via SQL*Net to client 
    523 bytes received via SQL*Net from client 
     2 SQL*Net roundtrips to/from client 
     0 sorts (memory) 
     0 sorts (disk) 
     1 rows processed 
+0

あなたは計画を取得する方法は何ですか? –

+0

autotraceを – oradbanj

+1

に設定すると、見積もりとなるので、クエリを実行するには10:06秒が必要です。 83M行の見積もりはtrueですか? –

答えて

2

計画を説明し、Oracleが、それはステートメントを実行するために取る何を考えての推定値であります試してみてください:

set timi on 
select count(*) from c1; 
set timi off 

select * from table(dbms_xplan.display_cursor(null,null,'allstats last')); 

それから、A列を見てください。それは正確ですか? する必要があります。

+0

はい - 今度は正確な – oradbanj

+0

です。今回は、実際のステートメントの実行に基づくものであり、見積もりに基づいていないためです。あなたの質問に答えるなら、私の答えを受け入れることができます。 –

関連する問題