Maison > base de données > tutoriel mysql > Comment puis-je insérer efficacement plusieurs lignes dans une base de données Oracle ?

Comment puis-je insérer efficacement plusieurs lignes dans une base de données Oracle ?

Linda Hamilton
Libérer: 2025-01-22 18:21:13
original
746 Les gens l'ont consulté

How Can I Efficiently Insert Multiple Rows into an Oracle Database?

Méthode efficace d'insertion par lots de données dans la base de données Oracle

Il existe de nombreuses façons d'insérer plusieurs lignes de données dans la base de données Oracle. La méthode d'insertion par lots couramment utilisée dans MySQL n'est pas directement prise en charge dans Oracle.

Utilisez l'instruction INSERT ALL

Dans Oracle, vous pouvez utiliser l'instruction INSERT ALL pour l'insertion par lots. Cette instruction contient plusieurs clauses INTO, chaque clause représente une ligne de données à insérer. L'instruction se termine par SELECT 1 FROM DUAL comme signe de la fin de l'insertion.

<code class="language-sql">INSERT ALL
   INTO t (col1, col2, col3) VALUES ('val1_1', 'val1_2', 'val1_3')
   INTO t (col1, col2, col3) VALUES ('val2_1', 'val2_2', 'val2_3')
   INTO t (col1, col2, col3) VALUES ('val3_1', 'val3_2', 'val3_3')
   .
   .
   .
SELECT 1 FROM DUAL;</code>
Copier après la connexion

Syntaxe simplifiée Oracle 23c

Oracle 23c introduit une syntaxe d'insertion groupée simplifiée qui élimine le besoin de l'instruction INSERT ALL. Plusieurs lignes de données peuvent être insérées à l'aide d'une liste séparée par des virgules comme celle-ci :

<code class="language-sql">INSERT INTO t(col1, col2, col3) VALUES
('val1_1', 'val1_2', 'val1_3'),
('val2_1', 'val2_2', 'val2_3'),
('val3_1', 'val3_2', 'val3_3');</code>
Copier après la connexion

Considérations relatives aux performances

Pour de grandes quantités de données, des problèmes de performances doivent être pris en compte. La nouvelle syntaxe INSERT dans Oracle 23c est beaucoup plus rapide que INSERT ALL et a des performances comparables à celles de la méthode UNION ALL. Cependant, l’insertion de plus de 1 000 lignes de données à la fois entraîne une augmentation exponentielle du temps d’analyse.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal