Creative Saplings

Instruction MERGE

décembre 16, 2020
No Comments

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

Accueil « Articles » 9i « Ici

L’instruction MERGE a été introduite dans Oracle 9i pour l’insertion ou la mise à jour conditionnelle données en fonction de leur présence, un processus également appelé « upsert ». L’instruction MERGE réduit les analyses de table et peut effectuer l’opération en parallèle si nécessaire.

  • Syntaxe
  • Performances

Articles connexes.

  • La déclaration MERGE
  • Améliorations de la déclaration MERGE dans Oracle Database 10g

Syntaxe

Prenons l’exemple suivant où les données de la table HR_RECORDS sont fusionnées dans EMPLOYEES table.

La source peut aussi être une requête.

Performance

Le MERGE est optimisée pour fusionner des ensembles de données, plutôt que des lignes uniques, comme indiqué dans l’exemple ci-dessous.

Créez les tables de test suivantes. La table source contient toutes les lignes de ALL_OBJECTS view, alors que la table de destination contient environ la moitié des lignes.

Le code suivant compare les performances de quatre opérations de fusion. Le premier utilise l’instruction simple MERGE. Le second utilise également l’instruction MERGE, mais de manière ligne par ligne. Le troisième effectue une mise à jour et insère conditionnellement la ligne si la mise à jour touche zéro ligne. Le quatrième insère la ligne, puis effectue une mise à jour si l’insertion échoue avec une valeur en double sur l’exception d’index.

La sortie montre que l’instruction MERGE est une commande de magnitude plus rapide que son plus proche rival. La mise à jour / l’insertion effectue presque deux fois la vitesse de l’insertion / de la mise à jour et effectue même la mise à jour ligne par ligne MERGE.

Il suffit de comparer la mise à jour / l’insertion et les méthodes d’insertion / mise à jour isolées, nous devons nous rappeler que les comparaisons varieront en fonction des données du tableau. Si la plupart des données ne sont pas déjà présentes, l’approche d’insertion / mise à jour peut être meilleure. Si la plupart des données sont déjà présentes, l’approche de mise à jour / insertion sera probablement meilleure. Si vous n’êtes pas sûr, utilisez simplement merge car c’est plus clair.

En plus de l’instruction MERGE qui est plus rapide, car c’est une instruction DML, elle peut facilement être exécuté en parallèle pour améliorer encore les performances, à condition que votre serveur puisse gérer la charge supplémentaire.

Pour plus d’informations, consultez:

  • La déclaration MERGE
  • Améliorations de l’instruction MERGE dans Oracle Database 10g
  • MERGE

J’espère que cela vous aidera. Cordialement Tim …

Retour en haut.

Articles
Previous Post

7 Campings pas chers à Cape Cod que vous allez adorer

Next Post

Tostones ou Maduros, lequel êtes-vous?

Laisser un commentaire Annuler la réponse

Articles récents

  • Meilleures écoles de photographie du monde, 2020
  • Les citoyens souverains apportent leur philosophie anti-gouvernement aux routes
  • Guide des coûts de réparation du stuc
  • Muckrakers (Français)
  • Oncologie de précision

Archives

  • février 2021
  • janvier 2021
  • décembre 2020
  • novembre 2020
  • octobre 2020
  • septembre 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.