Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Definir um valor para LIMIT ao usar a coleta em massa


Use um cursor implícito em um cursor FOR LOOP. Isso torna o código mais simples e o valor padrão de 100 é quase sempre bom o suficiente.

Já vi muita gente perder muito tempo se preocupando com isso. Se você pensar em por que a coleta em massa melhora o desempenho, você entenderá por que números grandes não ajudarão.

A coleta em massa melhora o desempenho reduzindo as alternâncias de contexto entre SQL e PL/SQL. Imagine o pior cenário altamente improvável, onde a troca de contexto consome todo o tempo de execução. Um limite de 2 elimina 50% das trocas de contexto; 10 elimina 90%; 100 elimina 99%, etc. Faça um gráfico e você perceberá que não vale a pena encontrar o tamanho limite ideal:



Use o padrão. Gaste seu tempo se preocupando com coisas mais importantes.