Creative Saplings

Declaración MERGE

diciembre 16, 2020
No Comments

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

Inicio «Artículos» 9i «aquí

La instrucción MERGE se introdujo en Oracle 9i para insertar o actualizar condicionalmente datos dependiendo de su presencia, un proceso también conocido como «upsert». La instrucción MERGE reduce los escaneos de tablas y puede realizar la operación en paralelo si es necesario.

  • Sintaxis
  • Rendimiento

Artículos relacionados.

  • La declaración MERGE
  • Mejoras en la declaración MERGE Oracle Database 10g

Sintaxis

Considere el siguiente ejemplo donde los datos de la tabla HR_RECORDS se combinan en la EMPLOYEES tabla.

La fuente también puede ser una consulta.

Rendimiento

La MERGE está optimizada para fusionar conjuntos de datos, en lugar de filas individuales, como se muestra en el siguiente ejemplo.

Cree las siguientes tablas de prueba. La tabla de origen contiene todas las filas del ALL_OBJECTS vista, mientras que la tabla de destino contiene aproximadamente la mitad de las filas.

El siguiente código compara el rendimiento de cuatro operaciones de combinación. El primero usa la instrucción MERGE directa. El segundo también usa la instrucción MERGE, pero de una manera fila por fila. El tercero realiza una actualización e inserta condicionalmente la fila si la actualización toca cero filas. El cuarto inserta la fila, luego realiza una actualización si la inserción falla con un valor duplicado en la excepción de índice.

El resultado muestra que la instrucción MERGE recta es una orden de magnitud más rápido que su rival más cercano. La actualización / inserción realiza casi el doble de velocidad que la inserción / actualización e iguala a la MERGE fila por fila.

Simplemente comparando la actualización / inserción y los métodos de inserción / actualización de forma aislada, tenemos que recordar que las comparaciones variarán según los datos de la tabla. Si la mayoría de los datos aún no estarán presentes, el enfoque de inserción / actualización puede ser mejor. Si la mayoría de los datos ya están presentes, el enfoque de actualización / inserción probablemente sea mejor. Si no está seguro, use merge ya que es más claro.

Además de que la instrucción MERGE directa es más rápida, porque es una instrucción DML que puede se puede ejecutar fácilmente en paralelo para mejorar aún más el rendimiento, siempre que su servidor pueda manejar la carga adicional.

Para obtener más información, consulte:

  • La declaración MERGE
  • Mejoras en la declaración MERGE en Oracle Database 10g
  • MERGE

Espero que esto ayude. Saludos Tim …

Volver al principio.

Articles
Previous Post

7 campamentos económicos de Cape Cod que te encantarán

Next Post

Tostones o Maduros, ¿cuál es usted?

Deja una respuesta Cancelar la respuesta

Entradas recientes

  • Las mejores escuelas de fotografía del mundo, 2020
  • Los ciudadanos soberanos llevan su filosofía antigubernamental a las carreteras
  • Guía de costos de reparación de estuco
  • Muckrakers (Español)
  • Precision Oncology (Español)

Archivos

  • febrero 2021
  • enero 2021
  • diciembre 2020
  • noviembre 2020
  • octubre 2020
  • septiembre 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.