我有以下查询,当第一次执行时返回“一致获取”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)
这是由于oracle 12c中的动态采样