Emerson, Eu não sei exatamente o que se passa neste seu processamento, mas vem aqui umas dicas :
1) Não crie índices para popular temporárias, não sei se é isso que entendi; 2) Se vc deseja um índice nessa temporária, crie depois de executar o procedimento, mesmo assim verifique a necessidade de criar os mesmos; 3) A questão da PK que foi criada, pode acontecer que não houve execução de estatística o que faz o Oracle procurar um Plano de execução que possa não trazer benefícios; 4) Execução de grandes massas de dados, pode ser interessante o uso de BULK COLLECT; 5) Coloque essa temporária com NOLOGGING; 6) Acredito que ele tenha utilizado o REINDEX e depois o DBMS_STATS; Qualquer coisa retorne com a sua versão de Oracle e se puder mostrar melhor o que vc pretende seria interessante.