Há um impacto no desempenho ao usar a tabela dupla para ler o próximo valor de uma sequência em uma inserção direta?
Atualmente, estou otimizando o desempenho em um grande sistema de TI e o que descobri é que quase todos os sequence.nextval são lidos da seguinte maneira:
SELECT SOME_SQ.NEXTVAL INTO someID FROM DUAL;
insert into .... (someId)
Estou me perguntando se o desempenho pode ser prejudicado ao usar a maneira descrita acima em um padrão:
insert into .... (some_sq.nexval, ...)
Obrigado
Observe que o 11g tem suporte para expressões de sequência diretamente no PL/SQL
Caso contrário, no Oracle Docs :
Portanto, qualquer ganho de desempenho será pequeno. Nos testes a seguir, descartei e recriei a tabela e a sequência entre cada execução:
banco de ensaio:
testes:
Você provavelmente deve executar novamente esses testes ou outros semelhantes em seu próprio ambiente.