Search notes:

Oracle SQL Plan operation EXPRESSION EVALUATION

create table tq84_A as
select
   level                  num,
   rpad('x', 1000, 'x')   pad
from
   dual connect by level <= 10000;

create table tq84_B as
select
   trunc(mod(level, 100) * dbms_random.value(1, 100)) num,
   rpad('x', 1000, 'x') pad
from
   dual connect by level <= 10000;

explain plan for
select /*+ parallel(4) */
   a.num,
  (select count(*) from tq84_B b where b.num < a.num) cnt
from
   tq84_A a
where
   to_char(a.num) like '%157';
   

select * from table(dbms_xplan.display(format=>'basic'));
-- ---------------------------------------------
-- | Id  | Operation                | Name     |
-- ---------------------------------------------
-- |   0 | SELECT STATEMENT         |          |
-- |   1 |  PX COORDINATOR          |          |
-- |   2 |   PX SEND QC (RANDOM)    | :TQ10000 |
-- |   3 |    EXPRESSION EVALUATION |          |
-- |   4 |     PX BLOCK ITERATOR    |          |
-- |   5 |      TABLE ACCESS FULL   | TQ84_A   |
-- |   6 |     SORT AGGREGATE       |          |
-- |   7 |      TABLE ACCESS FULL   | TQ84_B   |
-- ---------------------------------------------

drop table tq84_A;
drop table tq84_B;

See also

Plan operations

Index