A troca de contexto é a ocorrência de chaveamento entre a engine SQL e a engine PL/SQL durante a execução de queries ou blocos PL/SQL. Essa troca é invocada sempre que, dentro de um bloco PL/SQL, executa-se uma query ou um comando DML. Se executados isoladamente, os comandos INSERT, DELETE ou UPDATE, por exemplo, costumam ter pouco ou mesmo nenhum impacto na performance, mas quando executados em loops, o efeito das trocas de contexto se torna cumulativo e o prejuízo na performance do procedimento se torna bem evidente.


Para evitar esse prejuízo, o Oracle 11g implementa um comando cujo objetivo é enviar ao servidor um lote de comandos DML de uma única vez, utilizando apenas uma troca de contexto. Trata-se do