Processos em Segundo Plano Paralelos
Muitos processos foram criados para execução em paralelo a fim de acelerar a execução. Isso se chama execução do processo com vários “threads”.
O sistema oferece duas estratégias de distribuição dos dados entre os vários threads.
-
Seleção SQL no Nível do Thread. Algumas vezes, esta estratégia é chamada de estratégia de “iterador de threads”. Nessa estratégia, a tarefa em batch usa a chave primária para determinar como distribuir de maneira uniforme os intervalos de chaves para cada thread. Cada thread é então responsável pela seleção dos registros. Nessa estratégia, os threads também devem selecionar novamente os dados periodicamente para liberar o cursor, o que ajuda no desempenho. Note que essa é a estratégia preferida, mas só pode ser usada sob as seguintes condições:
- Somente os dados de um objeto de manutenção estão em processamento.
- A chave primária do objeto de manutenção é uma chave numérica única gerada pelo sistema.
Observação: Os parâmetros podem ser usados para substituir os IDs mínimo e máximo. Para obter mais informações, consulte Parâmetros Fornecidos a Processos em Segundo Plano . -
Seleção SQL no Nível da Tarefa. Esta estratégia às vezes é chamada de estratégia de “commit padrão”. Nessa estratégia, as chaves dos registros a serem processados pela tarefa em batch são todas selecionadas primeiro e armazenadas em uma tabela temporária. A tarefa em batch então fornece cada thread com um intervalo de chaves que ele deve processar. Essa estratégia é usada se vários objetos de manutenção estão em processamento pela tarefa em batch, caso a chave primária do objeto de manutenção tenha várias partes ou se a chave primária não é numérica.
A lógica de usar vários threads está no fato de as chaves primárias dos dados principais e da transação serem geralmente chaves aleatórias geradas pelo sistema. Além disso, quando os dados estão particionados, espera-se que eles estejam particionados com base na chave primária.