Creative Saplings

Instrução MERGE

Dezembro 16, 2020
No Comments

8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | Misc | PL / SQL | SQL | RAC | WebLogic | Linux

Home “Artigos” 9i “Aqui

A instrução MERGE foi introduzida no Oracle 9i para inserir ou atualizar condicionalmente dados dependendo de sua presença, um processo também conhecido como “upsert”. A instrução MERGE reduz as varreduras de tabela e pode executar a operação em paralelo, se necessário.

  • Sintaxe
  • Desempenho

Artigos relacionados.

  • A declaração MERGE
  • Aprimoramentos da declaração MERGE em Oracle Database 10g

Sintaxe

Considere o exemplo a seguir, onde os dados da tabela HR_RECORDS são mesclados na EMPLOYEES tabela.

A fonte também pode ser uma consulta.

Desempenho

O MERGE a instrução é otimizada para mesclar conjuntos de dados, em vez de linhas únicas, conforme mostrado no exemplo abaixo.

Crie as seguintes tabelas de teste. A tabela de origem contém todas as linhas de ALL_OBJECTS view, enquanto a tabela de destino contém aproximadamente metade das linhas.

O código a seguir compara o desempenho de quatro operações de mesclagem. O primeiro usa a instrução MERGE direta. O segundo também usa a instrução MERGE, mas linha por linha. O terceiro executa uma atualização e, condicionalmente, insere a linha se a atualização tocar em zero linhas. O quarto insere a linha e, em seguida, executa uma atualização se a inserção falhar com um valor duplicado na exceção do índice.

A saída mostra que a instrução MERGE direta é um pedido de magnitude mais rápido do que seu rival mais próximo. A atualização / inserção executa quase o dobro da velocidade da inserção / atualização e até mesmo executa a MERGE linha por linha.

Apenas comparando a atualização / inserção e os métodos de inserção / atualização isoladamente, temos que lembrar que as comparações irão variar dependendo dos dados da tabela. Se a maioria dos dados ainda não estiver presente, a abordagem de inserção / atualização pode ser melhor. Se a maioria dos dados já estiver presente, a abordagem de atualização / inserção provavelmente será melhor. Se você não tiver certeza, use merge, pois é mais claro.

Além da instrução MERGE direta ser mais rápida, porque é uma instrução DML ela pode pode ser facilmente executado em paralelo para melhorar ainda mais o desempenho, desde que seu servidor possa lidar com a carga extra.

Para obter mais informações, consulte:

  • A instrução MERGE
  • Aprimoramentos da instrução MERGE no banco de dados Oracle 10g
  • MERGE

Espero que isso ajude. Atenciosamente, Tim …

Voltar ao topo.

Articles
Previous Post

7 acampamentos baratos em Cape Cod que você vai adorar

Next Post

Tostones ou Maduros, qual é você?

Deixe uma resposta Cancelar resposta

Artigos recentes

  • As melhores escolas de fotografia do mundo, 2020
  • Cidadãos soberanos levam sua filosofia antigovernamental para as estradas
  • Guia de custos de reparo de estuque
  • Muckrakers (Português)
  • Oncologia de precisão

Arquivo

  • Fevereiro 2021
  • Janeiro 2021
  • Dezembro 2020
  • Novembro 2020
  • Outubro 2020
  • Setembro 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.