Heim >Datenbank >MySQL-Tutorial >Wie führt man in Oracle effizient mehrzeilige Einfügungen durch?

Wie führt man in Oracle effizient mehrzeilige Einfügungen durch?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-22 18:04:12163Durchsuche

How to Efficiently Perform Multi-Row Inserts in Oracle?

Effiziente Methode zum Einfügen mehrerer Zeilen in die Oracle-Datenbank

Im Gegensatz zum mehrzeiligen Einfügen einer einzelnen Anweisung in MySQL unterstützt die Oracle-Datenbank diese direkte Methode nicht. Aber wir können eine ähnliche Funktionalität auf verschiedene Arten erreichen:

Verwenden Sie die INSERT ALL-Syntax (vor Oracle 23c)

In Versionen vor Oracle 23c können Sie die INSERT ALL-Syntax zum Einfügen mehrerer Zeilen verwenden. Das folgende Beispiel zeigt, wie Sie mit INSERT ALL Daten in die Tabelle TMP_DIM_EXCH_RT einfügen:

<code class="language-sql">INSERT ALL
INTO TMP_DIM_EXCH_RT 
(EXCH_WH_KEY, 
 EXCH_NAT_KEY, 
 EXCH_DATE, EXCH_RATE, 
 FROM_CURCY_CD, 
 TO_CURCY_CD, 
 EXCH_EFF_DATE, 
 EXCH_EFF_END_DATE, 
 EXCH_LAST_UPDATED_DATE) 
VALUES
    (1, 1, '28-AUG-2008', 109.49, 'USD', 'JPY', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (2, 1, '28-AUG-2008', .54, 'USD', 'GBP', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (3, 1, '28-AUG-2008', 1.05, 'USD', 'CAD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (4, 1, '28-AUG-2008', .68, 'USD', 'EUR', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (5, 1, '28-AUG-2008', 1.16, 'USD', 'AUD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (6, 1, '28-AUG-2008', 7.81, 'USD', 'HKD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008')
SELECT 1 FROM DUAL;</code>

Oracle 23c vereinfachte Syntax

Oracle 23c führt eine vereinfachte mehrzeilige Einfügungssyntax ein:

<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>

Diese Syntax ermöglicht das Einfügen mehrerer Zeilen mit einer einzigen Anweisung.

Leistungsüberlegungen

Bei großen Datensätzen ist die vereinfachte Syntax von Oracle 23c effizienter als der INSERT ALL-Ansatz. Um die Leistung zu optimieren, wird empfohlen, dass die Anzahl der gleichzeitig eingefügten Zeilen etwa 1.000 Zeilen nicht überschreitet.

Das obige ist der detaillierte Inhalt vonWie führt man in Oracle effizient mehrzeilige Einfügungen durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn