Es posible que desee intentar usar una declaración de inserción única en lugar de ejecutar una declaración un millón de veces:
insert into myTable
select
dbms_random.value(1, 500),
dbms_random.value(1, 500)
from
dual
connect by
level <= 1*1000*1000;
En una nota al margen:¿mediste cuánto tiempo se dedica a ejecutar dbms_random
? y cuánto tiempo en realmente insertando los valores?