第一次执行查询时,“Consistent gets”更高

时间:2017-02-01 12:37:05

标签: oracle

我有以下查询,当第一次执行时返回“一致获取”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 |
-------------------------------------------------------------------------------------

1 个答案:

答案 0 :(得分:0)

这是由于oracle 12c中的动态采样