Oralce proporciona una sugerencia paralela para situaciones como esta, en las que tiene un escaneo completo de la tabla o un problema similar y desea utilizar varios núcleos para dividir la carga de trabajo. Más detalles aquí .
La sintaxis es muy simple, especificas la tabla (o alias) y el número de núcleos (normalmente lo dejo por defecto), por ejemplo:
select /*+ parallel(a, default) */ *
from table_a a
También puede usar esto con varias tablas, por ejemplo,
select /*+ parallel(a, default) parallel(b,default) */ *
from table_a a, table_b b
where a.some_id = b.some_id