Search notes:
Oracle SQL Plan operation FAST DUAL
The
row source FAST DUAL is used when selecting an expression which does not involve
DUMMY from
dual.
The plan for
select * from dual (which implicitely selects
DUMMY by means of the
*) selects from
DUAL with
full table access:
explain plan for
select * from dual;
select * from table(dbms_xplan.display(format=>'basic'));
--
-- ----------------------------------
-- | Id | Operation | Name |
-- ----------------------------------
-- | 0 | SELECT STATEMENT | |
-- | 1 | TABLE ACCESS FULL| DUAL |
-- ----------------------------------
However, when selecting an «ordinary» expression from dual, the FAST DUAL row source is used:
explain plan for
select sysdate from dual;
select * from table(dbms_xplan.display(format=>'basic'));
--
-- ---------------------------------
-- | Id | Operation | Name |
-- ---------------------------------
-- | 0 | SELECT STATEMENT | |
-- | 1 | FAST DUAL | |
-- ---------------------------------
See also
Does
FAST DUAL select from
x$dual?
The init parameter _fast_dual_enabled.