2017-02-01 58 views
0

我有以下查詢,它在第一次執行時返回「一致獲取」628066.當我重新執行它時,返回一致得到的結果爲270923.第一次執行查詢時「一致獲取」更高

該表本身有272446個塊(取自ALL_TABLES)。

它適用於兩種情況下的表掃描,並且列上沒有索引。

任何理由?第一次執行時,統計信息查找是否增加了一致性獲取。

select count(*) 
from TABLENAME 
where BEGDATE <= to_date('2018-03-01 09:00:00' , 'YYYY-MM-DD HH:MI:SS') and 
     ENDDATE > to_date('2018-03-01 09:00:00' , 'YYYY-MM-DD HH:MI:SS') 

這裏是計劃

------------------------------------------------------------------------------------- 
| Id | Operation   | Name   | Rows | Bytes | Cost (%CPU)| Time  | 
------------------------------------------------------------------------------------- 
| 0 | SELECT STATEMENT |    |  |  | 37516 (100)|   | 
| 1 | SORT AGGREGATE |    |  1 | 16 |   |   | 
|* 2 | TABLE ACCESS FULL| TABLENAME  | 18 | 288 | 37516 (1)| 00:00:02 | 
------------------------------------------------------------------------------------- 
+0

是同一個會話? –

+0

是的,它是在同一個會話中。是否有區別?只是好奇 –

+0

向我們顯示select * from table(dbms_xplan.display_cursor('your_sql_id',null));'請 –

回答

0

這是因爲在Oracle 12c中動態採樣

相關問題