Search notes:

Oracle: V$SQL_PLAN_STATISTICS

v$sql_plan_statistics provides actual (not estimated as in v$sql_plan) for every SQL plan operation of an executed SQL statement.

Populating the view

In order for an SQL statement to populate the statistics into this view
See also Prerequisites for filling V$SQL_PLAN_STATISTICS and V$SQL_PLAN_STATISTICS_ALL

Select statement

select
   sps.executions,
-- sqp.id,
-- sqp.parent_id,
   lpad('| ', (sqp.depth-1) * 2, '| ') || sqp.operation || case when sqp.options is not null then ' (' || sqp.options || ')' end op,
   sqp.object_owner     , sqp.object_name,
   sps.last_starts      , sps.starts,
   sps.last_output_rows , sps.output_rows,
   sqp.cardinality,
   sqp.access_predicates,
   sqp.filter_predicates,
   sqp.object_alias,
   sqp.qblock_name,
   sqp.projection,
   sps.last_elapsed_time  , sps.elapsed_time,
   sqp.time,
   sqp.object_type,
   sqp.position,
   sps.last_cr_buffer_gets, sps.cr_buffer_gets,   
   sps.last_cu_buffer_gets, sps.cu_buffer_gets,
   sps.last_disk_reads    , sps.disk_reads,
   sps.last_disk_writes   , sps.disk_writes
-- sqp.plan_hash_value,
from
   v$sql_plan            sqp                                             left join
   v$sql_plan_statistics sps on sqp.sql_id       = sps.sql_id       and
                                sqp.child_number = sps.child_number and
                                sqp.id           = sps.operation_id and
                                sqp.con_id       = sps.con_id
where
   sqp.sql_id       = 'c1td37cfqu9ka' and
   sqp.child_number =  0
order by
   sqp.id;  

See also

A plan that is found in v$sql_plan_statistics can be formatted with dbms_xplan.display_cursor.
v$sql_plan_statistics_all and the structural differences between v$sql_plan_statistics and v$sql_plan_statistics_all.
v$statistics_level
Columns plan_hash_value and full_plan_hash_value
Real time SQL monitoring
Oracle Dynamic Performance Views

Index