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

Using a PL/SQL function in a where clause
Does FAST DUAL select from x$dual?
The init parameter _fast_dual_enabled.
Plan operations

Index